thegreenter / demo

Ejemplos utilizando Greenter (UBL 2.1, SOAP, Firma digital, PDF, QR)
https://greenter-sample.herokuapp.com
MIT License
60 stars 52 forks source link

Factura como anticipo #110

Open Recursero opened 2 years ago

Recursero commented 2 years ago

Hola Giancarlos:

En los ejemplos sobre el tipo de comprobante, se indica como aplicar un anticipo a una factura pero no como emitir una factura de tipo anticipo. Por ejemplo, en el portal Sunat, se indica si la factura a emitir es un anticipo o no. Se cuenta con esta opción? si es así, como sería la estructura. Gracias de antemano por tu respuesta.

giansalex commented 2 years ago

@Recursero Hola, recuerdo que eso era una opción cuando se trabajaba con UBL 2.0, pero no en UBL 2.1, tal vez si compartes un xml generado del Portal con esa opción, podría revisarlo y ver cual es la diferencia.

Recursero commented 2 years ago

De acuerdo Giancarlos. Emitiré una factura tipo anticipo por el portal y subiré el xml.

Recursero commented 2 years ago

FACTURAE001-510428042854.zip

Me he percatado de dos cosas. Ahora existe un campo "redondeo" y lo otro que en el xml esta el ID 0104 que podría ser la union del tipo de operacion (catalogo 51 y el catalogo 17). Ya que las ventas internas comienzan con 01.

En el portal, se realizan dos pasos para emitir la factura tipo anticipo y luego la factura a la cual se aplicará el anticipo. Si emito un anticipo del 100% (porque el producto no se encuentra en stock) y luego emito la segunda factura aplicando el 1er anticipo, esta última factura el importe facturado es de 0.00.

Recursero commented 2 years ago

FACTURAE001-610428042854.zip

Esta es la factura aplicando el anticipo

giansalex commented 2 years ago

@Recursero , el ID 0104 no esta especificado en los catalogos de SUNAT, pero podrías probar colocando en esta linea, tambien hay un campo para el redondeo $invoice->setRedondeo(0.06);

Recursero commented 2 years ago

Hola Giancarlos:

Acabo de realizar la prueba con el id 0104 según lo indicado pero la respuesta de Sunat es la siguiente: code: "3206" description: "El dato ingresado como tipo de operación no corresponde a un valor esperado (catálogo nro. 51) - El dato ingresado como tipo de operación no corresponde a un valor esperado (catálogo nro. 51)\n Detalle:\n xxx.xxx.xxx value='ticket: 202107947769590 error: : condicion:document('local:///commons/cpe/catalogo/cat_51.xml')/l/c[@id='0104' and @factura='1'] Valor no se encuentra en el catalogo: 51, ID: 0104 (nodo: \"cbc:InvoiceTypeCode/listID\" propiedad factura: \"1\")'" id: "FCF1-20"

Surge la duda sobre si cuando emites una factura y quieres que sea de tipo anticipo es correcto emitirlo con id 0101 ya que la misma Sunat asigna el id 0104 a las facturas por anticipo. Tu has emitido alguna factura de tipo anticipo? Gracias de antemano por tu respuesta

Recursero commented 2 years ago

Por cierto, he encontrado la siguiente directiva para las facturas emitidas por anticipo: I. Factura, emitida por el monto pagado por anticipado:

  1. Se deberá utilizar el tag tipo de operación y el código 04 venta interna - Anticipos, del catalogo N° 17.
  2. Entonces si la factura contiene este tág , sólo se validará la existencia a) A nivel de línea: de los tag: descripción y valor venta por ítem (con monto > 0) b) A nivel de totales: de los tag : total valor venta operaciones gravadas (con montos > a cero) total IGV (con monto > 0) y tag total operación (con monto mayor a cero).

Greenter utiliza el catálogo Nro 17 en algunas de sus estructuras. Tal vez por ahí sea el camino. Nuevamente, gracias por tu respuesta

http://contenido.app.sunat.gob.pe/insc/ComprobantesDePago+Electronicos/Anticipos_lineamiento_mayo_2015.pdf

giansalex commented 2 years ago

Creo que ese lineamiento es de UBL 2.0, no esta actualizado.

Recursero commented 2 years ago

Pero si quisiera emitir una factura como anticipo, cuál sería la estructura correcta? Se tiene esta opción en Greenter?

Recursero commented 2 years ago

Consulte al area de informática de la Sunat y me indicaron que solo es necesario declarar la factura tipo 0101 y luego hacer la referencia en la siguiente factura a la que aplicaré el anticipo. Aún no he realizado esta prueba pero una vez hecho podría confirmarlo. Saludos

giansalex commented 2 years ago

@Recursero es lo que tenia entendido, por ello solo hay un ejemplo en demo donde se aplica el anticipo