project-openubl / xhandler-rust

Administra XMLs basados en UBL y los estándares de la SUNAT respecto a la facturación electrónica.
https://project-openubl.github.io/
Apache License 2.0
18 stars 14 forks source link

Incluir en la factura electrónica el documento relacionado( Guía de Remisión,otros documentos sunat) #36

Closed fhuancco closed 3 years ago

fhuancco commented 3 years ago

Incluir los documentos Relacionados en la factura Electronica segun : 12 Tipo y número de la guía de remisión relacionada con la operación que se factura. Referencia a las guías de remisión remitente o transportista, según corresponda, autorizadas por la SUNAT para sustentar el traslado de los bienes. Pueden existir múltiples guías de remisión, por lo que el número de elementos de este tipo es ilimitado. Se utilizará el Catálogo N° 01: “Código de Tipo de Documento”. ejemplo:

0001-002020 09 --- Pagina 36 y 37 ![guia-documento relacinado](https://user-images.githubusercontent.com/45294257/120562818-cd4c3380-c3cc-11eb-9f74-233e077b7ddb.png) [guia+xml+factura+version 2-1+1+0 (2)_0.pdf](https://github.com/project-openubl/xbuilder/files/6587841/guia%2Bxml%2Bfactura%2Bversion.2-1%2B1%2B0.2._0.pdf)
github-actions[bot] commented 3 years ago

Cogratulations! You have just created your first issue. Thanks for contributting to this project! We will answer you as soon as possible' first issue

carlosthe19916 commented 3 years ago

@fhuancco La agregación de las guías de remisión están en progreso. Puedes ver el progreso en https://github.com/project-openubl/xbuilder/pull/38

La agregación de guías de remisión se hará de la siguiente manera:

 InvoiceInputModel input = InvoiceInputModel.Builder.anInvoiceInputModel()
                .withSerie("F001")
                .withNumero(1)                
                .withGuiasRemisionRelacionadas(Arrays.asList(
                        GuiaRemisionRelacionadaInputModel.Builder.aGuiaRemisionRelacionadaInputModel()
                                .withSerieNumero("0001-002020")
                                .withTipoDocumento(Catalog1_Guia.GUIA_REMISION_TRANSPORTISTA.toString())
                                .build(),
                        GuiaRemisionRelacionadaInputModel.Builder.aGuiaRemisionRelacionadaInputModel()
                                .withSerieNumero("0002-002020")
                                .withTipoDocumento(Catalog1_Guia.GUIA_REMISION_TRANSPORTISTA.toString())
                                .build()
                ))
                .build();

Qué te parece la forma de agregar guías?

carlosthe19916 commented 3 years ago

También se estan agregando la forma de agregar otros documentos tributarios relacionados al documento:

https://github.com/project-openubl/xbuilder/pull/40

InvoiceInputModel input = InvoiceInputModel.Builder.anInvoiceInputModel()
                .withSerie("F001")
                .withNumero(1)               
                .withOtrosDocumentosTributariosRelacionados(Arrays.asList(
                        DocTribRelacionadoInputModel_Invoice.Builder.aDocTribRelacionadoInputModel_Invoice()
                                .withSerieNumero("F001-1")
                                .withTipoDocumento(Catalog12_Doc_Trib_Relacionado_Invoice.DECLARACION_SIMPLIFICADA_DE_IMPORTACION.toString())
                                .build(),
                        DocTribRelacionadoInputModel_Invoice.Builder.aDocTribRelacionadoInputModel_Invoice()
                                .withSerieNumero("F002-2")
                                .withTipoDocumento(Catalog12_Doc_Trib_Relacionado_Invoice.DECLARACION_SIMPLIFICADA_DE_IMPORTACION.toString())
                                .build()
                ))
                .build();
carlosthe19916 commented 3 years ago

Agregando anticipos en https://github.com/project-openubl/xbuilder/pull/42

InvoiceInputModel input = InvoiceInputModel.Builder.anInvoiceInputModel()
                .withSerie("F001")
                .withNumero(1)
                .withAnticipos(Arrays.asList(
                        AnticipoInputModel.Builder.anAnticipoInputModel()
                                .withSerieNumero("B999-1")
                                .withTipoDocumento(Catalog12_Anticipo.BOLETA_DE_VENTA_EMITIDA_POR_ANTICIPOS.toString())
                                .withMontoTotal(new BigDecimal("180"))
                                .build(),
                        AnticipoInputModel.Builder.anAnticipoInputModel()
                                .withSerieNumero("B999-2")
                                .withTipoDocumento(Catalog12_Anticipo.BOLETA_DE_VENTA_EMITIDA_POR_ANTICIPOS.toString())
                                .withMontoTotal(new BigDecimal("180"))
                                .build()
                ))
                .build();
carlosthe19916 commented 3 years ago

@fhuancco Procederé a cerrar este ISSUE ya que la versión 1.2.1.Final de Builder incluye lo requerido en este ISSUE. Para mayor información lee la versión actualizada de la documentación en https://project-openubl.github.io/docs/xbuilder/examples/guia-remision-relacionada . Si piensas que hay cambios requeridos o bugs no dudes en reabrir este ISSUE o crear uno nuevo.