giansalex / lycet Goto Github PK
View Code? Open in Web Editor NEWAPI REST de Facturación Electrónica Sunat utilizando Greenter.
License: MIT License
API REST de Facturación Electrónica Sunat utilizando Greenter.
License: MIT License
Hola @giansalex, ¿Cómo hago para modificar el template del archivo invoice.html.twig?, llevo bastante tiempo modificando y no hay surgen los cambios a la hora de generar el documento PDF.
Saludos
Hola @giansalex , estube probando el resumen diario de boletas, pero me bota un error o en que estoy errando??. ("No existe información de serie o número. - Detalle: xxx.xxx.xxx value='ticket: 1550786770356 error: Error en la linea: 1. Solo se acepta informacion de comprobantes de referencia para notas (Credito o debito): el tipo de comprobante es: 03 y debe de ser 07 o 08.')
Ejemplo de prueba
{
"correlativo": "003",
"fecGeneracion": "2019-02-18T12:00:00+02:00",
"fecResumen": "2019-02-21T12:00:00+00:00",
"moneda": "PEN",
"company": {
"ruc": "20123456789",
"razonSocial": "REST. MORALY",
"nombreComercial": "MORALY",
"address": {
"ubigueo": "180101",
"codigoPais": "PE",
"departamento": "MOQUEGUA",
"provincia": "MARISCAL NIETO",
"distrito": "MOQUEGUA",
"urbanizacion": "-",
"direccion": "CALLE LIMA 398",
"codLocal": "0000"
},
"email": "[email protected]",
"telephone": "997788551"
},
"details": [
{
"tipoDoc": "03",
"serieNro": "B001-1",
"clienteTipo": "1",
"clienteNro": "42731344",
"docReferencia": {
"tipoDoc": "",
"nroDoc": ""
},
"estado": "1",
"total": "25.00",
"mtoOperGravadas": "21.19",
"mtoOperInafectas": 0,
"mtoOperExoneradas": 0,
"mtoOperExportacion": 0,
"mtoOperGratuitas": 0,
"mtoOtrosCargos": 0,
"mtoIGV": "3.81",
"mtoIvap": 0,
"mtoISC": 0,
"mtoOtrosTributos": 0
}
]
}
Existe la posibilidad de almacenar múltiples certificados, logos y credenciales sunat? para poder tener multiples emisores y no solo uno.
por ahora esos datos se extraen desde variables de entorno, ¿que tanto habria que modificar para conseguirlo?
Hola #giansalex al enviar una solicitud axios.post('http://localhost:8000/api/v1/invoice/pdf', args, { params: { token: '123456' } }).then(res => console.log(res)).catch(err => console.log(err));
En la consola obtengo Uncaught Exception: The response content must be a string or object implementing __toString(), "boolean" given.
¿Que puede estar pasando?
Muchas gracias por la respuesta.
Este código lo saque probando con Postman, para los que empezamos desde cero, de haber sabido esto me hubiera ahorrado días. Gracias Giancarlo por la libreria muy buena
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://localhost/lycet/public/api/v1/invoice/send?token=123456",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '
{
"tipoDoc": "01",
"serie": "F001",
"correlativo": "111",
"fechaEmision": "2018-01-20T12:34:00+01:00",
"client": {
"tipoDoc": "6",
"numDoc": "20546687668",
"rznSocial": "COMPANY SAC"
},
"company": {
"ruc": "20123456789",
"razonSocial": "LYCET COMPANY SAC",
"nombreComercial": "COMPANY ",
"address": {
"ubigueo": "150101",
"codigoPais": "PE",
"departamento": "LIMA",
"provincia": "LIMA",
"distrito": "LIMA",
"urbanizacion": "-",
"direccion": "AV ITALIA"
}
},
"tipoMoneda": "PEN",
"mtoOperGravadas": 100,
"mtoOperInafectas": 0,
"mtoOperExoneradas": 0,
"mtoIGV": 18,
"mtoImpVenta": 118,
"details": [
{
"unidad": "NIU",
"cantidad": 12,
"codProducto": "string",
"descripcion": "PRODUCTO 1",
"mtoValorUnitario": 100,
"igv": 18,
"tipAfeIgv": "10",
"mtoPrecioUnitario": 118,
"mtoValorVenta": 100
}
],
"legends": [
{
"code": "1000",
"value": "SON CIEN CON 00/100 SOLES"
}
]
}
',
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Quisiera saber si se envia de alguna forma los descuentos
@giansalex tengo 2 dudas espero puedas ayudarme:
Actualizar a la versión de greenter con UBL 2.1
Hola @giansalex, para llevar Lycet en modo producción, clone el repositorio, luego APP_ENV=prod
, despues composer install -o
, hay algún paso adicional?
Hola, estoy usando este json para enviar la factura, SUNAT responde que ha sido aceptada, pero me envia observaciones
JSON:
{
"ublVersion":"2.1",
"tipoOperacion":"0101",
"serie":"FFFF",
"correlativo":3
},
"tipoMoneda":"PEN",
"details":[
{
"unidad":"NIU",
"cantidad":1,
"descripcion":"Numbre item",
"descuento":0,
"mtoValorUnitario":21.19,
"mtoPrecioUnitario":25,
"igv":3.81,
"tipAfeIgv":"10",
"mtoValorVenta":21.19,
"mtoValorGratuito":0,
"mtoBaseIgv":21.19,
"porcentajeIgv":18
}
],
"tipoDoc":"01",
"sumOtrosCargos":0,
"mtoOperInafectas":0,
"mtoOperExoneradas":0,
"mtoISC":0,
"mtoOtrosTributos":0,
"mtoOperGravadas":21.19,
"mtoIGV":3.81,
"totalImpuestos":3.81,
"mtoImpVenta":25,
"mtoOperExportacion":0,
"fechaEmision":"2019-02-27T09:01:57-0500",
"legends":[
{
"code":"1000",
"value":"VEINTICINCO SOLES Y 00\/100"
}
]
}
Observaciones
"notes": [
"4092 - El nombre comercial del emisor no cumple con el formato establecido - INFO: 4092 (nodo: \"cac:PartyName/cbc:Name\" valor: \"\")",
"4293 - El importe total de impuestos por línea no coincide con la sumatoria de los impuestos por línea. - Error en la linea: 1: 4293 (nodo: \"cac:TaxTotal/cbc:TaxAmount\" valor: \"0.00\")",
"4287 - El precio unitario de la operación que está informando difiere de los cálculos realizados en base a la información remitida - Error en la linea: 1: 4287 (nodo: \"cac:AlternativeConditionPrice/cbc:PriceAmount\" valor: \"25.000000\")",
"4309 - La sumatoria de valor de venta no corresponde a los importes consignados - INFO : 4309 (nodo: \"cac:LegalMonetaryTotal/cbc:LineExtensionAmount\" valor: \"0.00\")"
]
Al revisar el XML generado, veo
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="PEN">0.00</cbc:LineExtensionAmount>
<cbc:PayableAmount currencyID="PEN">25.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
LineExtension amount se genera como 0.00
<cac:TaxTotal>
<cbc:TaxAmount currencyID="PEN">0.00</cbc:TaxAmount>
....
cbc:TaxAmount tambien se genera como 0.00
Hay algun campo que debo estar olvidando?
Tienen un modelo del JSON que se le envía al endpoint de las notas de credito?
En el ambiente de prueba de SUNAT me aparece el erro de que no encuentra el documento de referencia
Al enviar una linea de factura con precio "0" me aparece el siguiente error...
Debe existir el tag cac:AlternativeConditionPrice/cbc:PriceAmount - Detalle: xxx.xxx.xxx value='ticket: 1551969141757 error: Error en la linea: 2: 2028 (nodo: "/" valor: "")'
Como puedo modificar el Json para poder enviar lo que me pide, o que puedo hacer
Buenas, estoy tratando de realizar el documento JSON de la comunicación de bajas, es el siguiente, pero tengo problemas porque recibo el error
500 internal server
{
"correlativo":"111",
"fecGeneracion":"2019-02-16T15:51:01+00:00",
"fecComunicacion":"2019-03-16T15:51:01+00:00",
"company":
{
"ruc":"20123456789",
"razonSocial":"GREENTER S.A.C",
"nombreComercial":"GREENTER",
"address":
{
"codigoPais":"PE",
"direccion":"AV LOS GERANIOS 321 - LIMA - LIMA - PERU"
}
},
"details":
[
{
"tipoDoc":"01",
"serie":"F001",
"correlativo":"02132132",
"desMotivoBaja":"ERROR DE SISTEMA"
},
{
"tipoDoc":"07",
"serie":"FC01",
"correlativo":"222",
"desMotivoBaja":"ERROR DE RUC"
}
]
}
Si alguien puede ayudarme sería de gran ayuda, gracias.
Estoy probando la api lycet desde swagger pero al momento de usar /invoice/send se tiene como respuesta: TypeError: Failed to fetch. A que se debe esto o estoy haciendo algo mal?
Hola @giansalex, al cargar la imagen en base64 y el certificado .PEM con el editor de swagger o con la herramienta https://giansalex.github.io/lycet-ui-config/ no cargan los datos adecuadamente, tuve que agregarlos manualmente desde el directorio. Aún así la imagen del logo sigue sin cargarse en el PDF para generar una factura o boleta electrónica.
Tengo un problema, al enviar los datos al API me retorna el siguiente error:
Failed to load http://localhost:8000/api/v1/invoice/send: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
y en el log:
[info] Matched route "app_v1_invoice_send"
[critical] uncaught Exception: this action needs a valid token!
Estimado Giancarlos.
Como puedo hacer para imprimir en ticketera (matricial o termica, con logo y codigo QR), ya que la empresa tiene una ticketera y desea imprimir automáticamente cuando hace la venta en su aplicación.
Vale decir que actualmente envío un Json desde la aplicación y realiza la generación del PDF con lycet y de ahí imprime el PDF en papel bond y le entrega al cliente pero se demora un poco con este proceso.
Y por su puesto como es un negocio que tiene clientes en cola, desea que la impresión sea rápida. ¿Debe hacerse primero el PDF y mandarla a imprimir?¿de ser así como puedo mandarla a imprimir automáticamente de php? .... o Directamente imprimir en ticketera sin necesidad de generar pdf?.
Perdón por tu tiempo.
Que me recomiendas ...
Hola @giansalex, el cdrZip de DocumentResponse ¿Es un tipo de dato String o base64? Estoy tratando de decodificar para convertirlo en un archivo Zip válido para almacenarlo, Tal como el ejemplo de greenter-sample.
Alguna solución? ya que en versiones anteriores no salia este error.
Fetch error Possible cross-origin (CORS) issue? The URL origin (http://localhost) does not match the page (http://petstore.swagger.io). Check the server returns the correct 'Access-Control-Allow-*' headers.
Estimado @giansalex , he tenido problemas al consumir el servicio de Lycet con Angular. Hay manera que configurar Lycet sin TOKEN ?
Hola, quizá esta pregunta no pertenece a lycet, pero quisiera saber si SUNAT tiene un rate limit para enviar comprobantes?
Porque cuando intento enviar muchas facturas seguidas me aparece un error de
No tiene el perfil para enviar comprobantes electronicos - Detalle: Rejected by policy
el error es aleatorio. a veces aparece, a veces no
Hola @giansalex descargue el ejcutable para linux de https://github.com/h4cc/wkhtmltopdf-amd64 luego puse la ruta donde guarde en la carpeta bin/
donde esta Lycet. Después añadí la ruta, sin embargo no me genera el PDF.
WKHTMLTOPDF_PATH=/bin/wkhtmltopdf-amd64
Para guardar los archivos generados por Lycet
(ya sea el XML, PDF, CDR, ZIP), dentro de un directorio así como en https://github.com/giansalex/greenter-sample, que pasos hay que seguir.
Hola @giansalex, he seguido todos los pasos excepto "Use lycet-ui-config for configure Logo and Certificate." es necesario?, Estoy trabajando con el certificado SFSCert.pem y json que viene con el ejemplo. y me bota error:
Estoy enviando mis facturas en producción pero el cdr me indica observaciones,para el caso de FACTURAS GRAVADAS:
4293 - El importe total de impuestos por linea no coincide con la sumatoria de los impuestos por línea. - Error en la linea: 1: 4293 (nodo: "cac:TaxTotal/cbc:TaxAmount" valor: "0.00")
4287 - El precio unitario de la operación que está informando difiere de los calculos realizados en base a la informacion remitida - Error en la linea: 1: 4287 (nodo: "cac:AlternativeConditionPrice/cbc:PriceAmount" valor: "10")
4310 - La sumatoria del Total del valor de venta mas los impuestos no concuerda con la base imponible - INFO : 4310 (nodo: "/" valor: "")
FACTURAS EXONERADAS:
4310 - La sumatoria del Total del valor de venta más los impuestos no concuerda con la base imponible - INFO : 4310 (nodo: "/" valor:"")
JSON GRAVADAS:
{
"ublVersion": "2.1",
"tipoOperacion": "0101",
"tipoDoc": "01",
"serie": "F001",
"correlativo": "00000068",
"fechaEmision": "2019-12-02T19:25:13+01:00",
"client": {
"tipoDoc": "6",
"numDoc": "20603343710",
"rznSocial": "CHIN NEGOCIOS Y TRANSPORTES S.A.C.",
"address": {
"ubigueo": "140105",
"codigoPais": "PE",
"departamento": "-",
"provincia": "-",
"distrito": "-",
"urbanizacion": "-",
"direccion": "AV. MARIANO CORNEJO NRO. 425 C.P. CPM. NUEVO SAN LORENZO III ETAPA LAMBAYEQUE - CHICLAYO - JOSE LEONARDO ORTIZ",
"codLocal": "0000"
},
"email": null,
"telephone": null
},
"company": {
"ruc": "20604473081",
"razonSocial": "ASIU COSTA SAC",
"nombreComercial": "ASIU COSTA SAC",
"address": {
"ubigueo": "140105",
"codigoPais": "PE",
"departamento": "-",
"provincia": "-",
"distrito": "-",
"urbanizacion": "-",
"direccion": "PRINCIPAL:CAL.CARLOS CASTAÑEDA NRO. 261 P.J. FRANCISCO CABRERA LAMBAYEQUE - CHICLAYO - JOSE LEONARDO ORTIZ/",
"codLocal": "0000"
},
"email": null,
"telephone": null
},
"tipoMoneda": "PEN",
"mtoOperGravadas": 100,
"mtoOperInafectas": 0,
"mtoOperExoneradas": 0,
"mtoOperExportacion": 0,
"mtoIGV": 18,
"icbper": 0,
"totalImpuestos": 18,
"valorVenta": 100,
"mtoImpVenta": 118,
"SumDsctoGlobal": 0,
"MtoDescuentos": 0,
"Descuentos": null,
"details": [
{
"unidad": "ZZ",
"cantidad": 2,
"codProducto": "-",
"descripcion": "PRUEBA DE SISTEMAS",
"mtoValorUnitario": 50,
"mtoBaseIgv": 100,
"porcentajeIgv": 18,
"igv": 18,
"tipAfeIgv": "10",
"factorIcbper": "0",
"icbper": "0",
"TotalImpuestos": 18,
"mtoPrecioUnitario": 59,
"mtoValorVenta": 100
}
],
"legends": [
{
"code": "1000",
"value": "CIENTO DIECIOCHO CON 00 /100 SOLES"
}
]
}
JSON EXONERADAS:
{
"ublVersion": "2.1",
"tipoOperacion": "0101",
"tipoDoc": "01",
"serie": "F005",
"correlativo": "00002284",
"fechaEmision": "2019-12-03T11:10:25+01:00",
"client": {
"tipoDoc": "6",
"numDoc": "20603343710",
"rznSocial": "CHIN NEGOCIOS Y TRANSPORTES S.A.C.",
"address": {
"ubigueo": "140105",
"codigoPais": "PE",
"departamento": "-",
"provincia": "-",
"distrito": "-",
"urbanizacion": "-",
"direccion": "AV. MARIANO CORNEJO NRO. 425 C.P. CPM. NUEVO SAN LORENZO III ETAPA LAMBAYEQUE - CHICLAYO - JOSE LEONARDO ORTIZ",
"codLocal": "0000"
}
},
"company": {
"ruc": "20604209316",
"razonSocial": "ASIU SELVA SAC",
"nombreComercial": "ASIU SELVA SAC",
"address": {
"ubigueo": "160101",
"codigoPais": "PE",
"departamento": "-",
"provincia": "-",
"distrito": "-",
"urbanizacion": "-",
"direccion": "PRINCIPAL:JR. TRUJILLO NRO.726A P.J. SAN ANTONIO LORETO - MAYNAS - IQUITOS/SUCURSAL:CAR.FEDERICO BASADRE KM. 3600 UCAYALI - CORONEL PORTILLO - YARINACOCHA\t",
"codLocal": "0000"
}
},
"tipoMoneda": "PEN",
"mtoOperExoneradas": 100,
"mtoIGV": 0,
"totalImpuestos": 0,
"valorVenta": 100,
"mtoImpVenta": 100,
"details": [
{
"unidad": "ZZ",
"cantidad": 1,
"codProducto": "-",
"descripcion": "PRUEBA DE SISTEMAS",
"mtoValorUnitario": 100,
"mtoBaseIgv": 100,
"porcentajeIgv": 0,
"igv": 0,
"tipAfeIgv": "20",
"TotalImpuestos": 0,
"mtoPrecioUnitario": 100,
"mtoValorVenta": 100
}
],
"legends": [
{
"code": "1000",
"value": "CIEN CON 00 /100 SOLES"
}
]
}
¿Alguna sugerencia?
Buenas tardes, como podría contribuir para colocar el nuevo impuesto ICBPER. La única diferencia que noto es el impuesto del catalogo 5
Uno de los cambios que he notado són en el archivo
invoice2.1.xml.twig pero aún no logro mapear modificar el objeto para agregar dicho impuesto
Quizás es más fácil de lo que me estoy complicando saludos.
Buenas noches @giansalex, que crees que estoy haciendo mal, el xml y cdr si esta normal, el error me muestra cuando utilizo el api "http:://localhost:8000/api/v1/invoice/pdf?token=123456".
Estimados srs. buenas tardes, ojalá me puedan ayudar con un modelo de json ubl 2.1 para guia de remisión ... estoy haciendo envíos y no tengo éxito ... tengo el error 500 internal server error.
Este es el json que estoy enviando:
{
"tipoDoc":"09",
"serie":"T001",
"correlativo":"213123",
"observacion":"NOTA GUIA",
"fechaEmision": "2019-03-16T15:51:01-05:00",
"company":
{
"ruc":"20123456789",
"razonSocial":"GREENTER S.A.C",
"nombreComercial":"GREENTER",
"address":
{
"ubigueo":"060101",
"codigoPais":"PE",
"departamento":"cajamarca",
"provincia":"cajamarca",
"distrito":"cajamarca",
"urbanizacion":"null",
"direccion":"AV LOS GERANIOS 321 - LIMA - LIMA - PERU"
},
"email":"null",
"telephone":"null"
},
"destinatario":
{
"tipoDoc":"6",
"numDoc":"20000000002",
"rznSocial":"EMPRESA 1",
"address":"null",
"email":"null",
"telephone":"null"
},
"tercero":
{
"tipoDoc":"6",
"numDoc":"20000000003",
"rznSocial":"EMPRESA SA",
"address":"null",
"email":"null",
"telephone":"null"
},
"envio":
{
"codTraslado":"01",
"desTraslado":"VENTA",
"indTransbordo":false,
"pesoTotal":12.5,
"undPesoTotal":"KGM",
"numBultos":2,
"modTraslado":"01",
"fecTraslado": "2019-03-16 15:51:01.046040",
"numContenedor":"XD-2232",
"codPuerto":"123",
"transportista":
{
"tipoDoc":"6",
"numDoc":"20000000002",
"rznSocial":"TRANSPORTES S.A.C",
"placa":"ABI-453",
"choferTipoDoc":"1",
"choferDoc":"40003344"
},
"llegada":
{
"ubigueo":"150101",
"direccion":"AV LIMA"
},
"partida":
{
"ubigueo":"150203",
"direccion":"AV ITALIA"
}
},
"docBaja":
{
"tipoDoc":"09",
"nroDoc":"T001-00001"
},
"relDoc":
{
"tipoDoc":"02",
"nroDoc":"213123"
},
"details":
[
{
"codigo":"PROD1",
"descripcion":"PROD 1",
"unidad":"ZZ",
"cantidad":2,
"codProdSunat":"P001"
}
]
}
Hola @giansalex, tengo una url donde guardo el comprobante, ¿Cómo podría configurar Lycet para que obtenga el parámetro (url) y la muestre en el qr code?. Muy agradecido.
Hola giansalex
Una consuta:
¿Que parametros debo configurar para cambiar de BETA a PRODUCCIÓN?
He cambiado las rutas por defecto por estas:
FE_URL=https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService
RE_URL=https://e-factura.sunat.gob.pe/ol-ti-itemision-otroscpe-gem/billService
GUIA_URL=https://e-guiaremision.sunat.gob.pe/ol-ti-itemision-guia-gem/billService
Cuando envio me sale este error:
0110: No se pudo obtener la informacion del tipo de usuario.
Ya he creado el usuario secundario y asignado los permisos correspondientes y ya es más de 1 día.
Hola @giansalex, hace unas semanas acabo de probar LYCET, el problema es que cuando envío los documentos a la SUNAT me muestra el mensaje que el comprobante fue aceptado con codigo "0", sin embargo al consultar la validez del CPE, sale que no existe en los registros de la SUNAT. ¿Que puede estar pasando?. Gracias por tu respuesta.
buenas tardes @giansalex , tendrás algún modelo de json para ubl 2.1?
{
"tipoDoc": "01",
"serie": "F001",
"correlativo": "123",
"fechaEmision": "2017-10-02T00:00:00-05:00",
"client": {
"tipoDoc": "6",
"numDoc": "20384203133",
"rznSocial": "ZV DISTRIBUIDORES S.A.C.",
"address": {
"direccion": "AV. SANTA ELVIRA MZA. E LOTE. 1 (VILLA SOL) - LOS OLIVOS LIMA LIMA PERU"
}
},
"company": {
"ruc": "20480072872",
"razonSocial": "PESQUERA DIAMANTE S.A.",
"nombreComercial": "PESQUERA DIAMANTE S.A.",
"address": {
"ubigueo": "150131",
"codigoPais": "51",
"departamento": "LIMA",
"provincia": "LIMA",
"distrito": "SAN ISIDRO",
"urbanizacion": "-",
"direccion": "CAL. AMADOR MERINO REYNA NRO. 307 (EDIFICIO NACIONAL PISO 12 Y 13)"
}
},
"tipoMoneda": "PEN",
"valorVenta":300,
"sumOtrosCargos": 0,
"mtoOperGravadas": 200,
"mtoOperInafectas": 0,
"mtoOperExoneradas": 100,
"mtoIGV": 36,
"mtoISC": 0,
"totalImpuestos":36,
"mtoOtrosTributos": 0,
"mtoImpVenta": 336,
"details": [
{
"unidad": "NIU",
"cantidad": 2,
"codProducto": "P0D1",
"codProdSunat": "string",
"descripcion": "PROD 1",
"mtoValorUnitario": 100,
"descuento": 0,
"igv": 36,
"tipAfeIgv": "10",
"mtoPrecioUnitario": 118,
"mtoValorVenta": 200,
"porcentajeIgv": 18,
"totalImpuestos":36
},
{
"unidad": "KG",
"cantidad": 2,
"codProducto": "P0D2",
"codProdSunat": "string",
"descripcion": "PROD 2",
"mtoValorUnitario": 50,
"descuento": 0,
"igv": 0,
"tipAfeIgv": "20",
"mtoPrecioUnitario": 50,
"mtoValorVenta": 100,
"porcentajeIgv": 0,
"totalImpuestos":0
}
],
"legends": [
{
"code": "1000",
"value": "SON DOSCIENTOS TREINTA Y SEIS CON 00/100 SOLES"
}
],
"tipoOperacion": "0101",
"fecVencimiento": "2017-10-02T00:00:00-05:00",
"sumDsctoGlobal": 0,
"mtoDescuentos": 0,
"mtoOperGratuitas": 0,
"totalAnticipos": 0,
"compra": "O-C 100"
}
hola Giancarlos, Al querer enviar una comunicación de baja me sale este error, los demás esta bien. actualice lo ultimo de lycet, configure bien la zona horaria pero persiste el error.
este es el código que estoy tomando de ejemplo:
Al ejecutar el comando: composer install --no-dev -o, me instala las dependencias pero con el siguiente error:
Generating optimized autoload files
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 255
!! PHP Fatal error: Uncaught RuntimeException: APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file. in D:\FACTURACIÓN ELECTRÓNICA\lycet\bin\console:20
!! Stack trace:
!! #0 {main}
!! thrown in D:\FACTURACIÓN ELECTRÓNICA\lycet\bin\console on line 20
Y al ejecutar el servidor PHP me lanza este:
Fatal error: Uncaught RuntimeException: APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file. in D:\FACTURACION ELECTRÓNICA\lycet\public\index.php:13 Stack trace: #0 {main} thrown in D:\FACTURACION ELECTRÓNICA\lycet\public\index.php on line 13
He configurado el .env como lo indican. Supongo que es porque no existe este archivo ni esta ruta...
WKHTMLTOPDF_PATH=full/path/wkhtmltopdf.exe
¿Será ese el error?
Hola @giansalex, Estoy probando el envío del resumen diario y todo perfecto, pero al intentar enviar notas notas de credito de boletas electronicas tengo el siguiente error:
"No existe información de serie o número. - Detalle: xxx.xxx.xxx value='ticket: 1555974791671 error: Error en la linea: 1. Solo se acepta informacion de comprobantes de referencia para notas (Credito o debito): el tipo de comprobante es: 07 y debe de ser 07 o 08.'"
El JSON que estoy enviando es el siguiente:
{ "correlativo": "11159", "fecGeneracion": "2019-02-18T12:00:00+02:00", "fecResumen": "2019-02-21T12:00:00+00:00", "moneda": "PEN", "company": { "ruc": "20123456789", "razonSocial": "REST. MORALY", "nombreComercial": "MORALY", "address": { "ubigueo": "180101", "codigoPais": "PE", "departamento": "MOQUEGUA", "provincia": "MARISCAL NIETO", "distrito": "MOQUEGUA", "urbanizacion": "-", "direccion": "CALLE LIMA 398" } }, "details": [ { "tipoDoc": "07", "serieNro": "BC01-00000008", "clienteTipo": "1", "clienteNro": "47719456", "estado": "3", "total": "25.00", "mtoOperGravadas": "21.19", "mtoIGV": "3.81" } ] }
Espero puedas ayudarme, gracias de antemano
Hola @giansalex, estoy probando la integración de una pequeña librería ´para utilizar dompdf
para el renderizado de los documentos pdf en Lycet
. webmaster/dompdf-greenter.
Mi duda es. Si de alguna manera se pudiera editar automáticamente services.yaml
en el momento de la instalación de mi librería webmaster/dompdf-greenter . Tal como se muestra en la siguiente figura.
Aún me faltan detalles de configuraciones avanzadas del dompdf
, pero ya lo probé y me esta funcionando tanto localmente, así como, en un host remoto.
Buen día, acabo de habilitar la comunicación de bajas; y al realizar las pruebas me dí cuenta que no puedo comunicar boletas de venta...
No sé si estoy mal, pero documentándome en [http://orientacion.sunat.gob.pe/index.php/empresas-menu/comprobantes-de-pago-empresas/comprobantes-de-pago-electronicos-empresas/see-desde-los-sistemas-del-contribuyente/2-comprobantes-que-se-pueden-emitir-desde-see-sistemas-del-contribuyente/factura-electronica-desde-see-del-contribuyente/3529-operatividad]
Explica que se puede hacer las notificaciones de baja tanto para boletas como para facturas.
Espero puedan darme alguna respuesta, gracias de antemano
for external models, use yaml file and set directory in configuration
Hola ... una consulta estoy haciendo una aplicación que lea las boletas de la sunat para almacenarlas en DDBB. El problema que no existe ningún programa que transforme de UBL a JSON para poder leer la información del documento XML. ME podrías dar una mano, por favor?
Saludos
Como habilito UBL 2.1?
Estoy obteniendo el error:
No está autorizado a enviar comprobantes bajo el formato UBL 2.0 - No está autorizado a enviar comprobantes bajo el formato UBL 2.0. El ruc: 20395419715 debe generar su comprobante en la version UBL 2.1'
Que se tendría que hacer para que no se muestre el hash en el pdf generado?
Encontré el codigo siguiente:
$parameters = [ 'system' => [ 'logo' => $logo, // 'hash' => '', ], 'user' => [ 'resolucion' => '-', 'header' => '', ] ];
Ahi está comentado el hash; si coloco cualquier texto ahí, aparece en la factura, lo que quiero saber es por qué esta comentado y que debo hacer para poder hacer conseguirlo.
Hola @giansalex acabo de enviar el comprobante con la url de producción, pero recibí un mensage de error con codigo 0111 No tiene el perfil para enviar comprobantes electronicos, ¿tengo que poner en los archivos .env el usuario y clave sol, o el usuario secundario que generé en el portal de la Sunat?. Saludos
Como podría hacer para enviar otros parametros para agregar en la plantilla del PDF, tales como una fecha de vencimiento, si es credito o contado, y demas información, muchas gracias
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.