Sunat Jaxb

Sunat Perú Jaxb Models

License

License

GroupId

GroupId

io.github.carlosthe19916
ArtifactId

ArtifactId

sunat-jaxb
Last Version

Last Version

1.1.4.Final
Release Date

Release Date

Type

Type

jar
Description

Description

Sunat Jaxb
Sunat Perú Jaxb Models
Source Code Management

Source Code Management

https://github.com/carlosthe19916/sunat-jaxb/tree/master/

Download sunat-jaxb

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.carlosthe19916/sunat-jaxb/ -->
<dependency>
    <groupId>io.github.carlosthe19916</groupId>
    <artifactId>sunat-jaxb</artifactId>
    <version>1.1.4.Final</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.carlosthe19916/sunat-jaxb/
implementation 'io.github.carlosthe19916:sunat-jaxb:1.1.4.Final'
// https://jarcasting.com/artifacts/io.github.carlosthe19916/sunat-jaxb/
implementation ("io.github.carlosthe19916:sunat-jaxb:1.1.4.Final")
'io.github.carlosthe19916:sunat-jaxb:jar:1.1.4.Final'
<dependency org="io.github.carlosthe19916" name="sunat-jaxb" rev="1.1.4.Final">
  <artifact name="sunat-jaxb" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.carlosthe19916', module='sunat-jaxb', version='1.1.4.Final')
)
libraryDependencies += "io.github.carlosthe19916" % "sunat-jaxb" % "1.1.4.Final"
[io.github.carlosthe19916/sunat-jaxb "1.1.4.Final"]

Dependencies

compile (6)

Group / Artifact Type Version
javax.validation : validation-api jar 2.0.1.Final
org.hibernate.validator : hibernate-validator jar 6.0.9.Final
org.hibernate.validator : hibernate-validator-annotation-processor jar 6.0.9.Final
javax.el : javax.el-api jar 3.0.0
org.glassfish.web : javax.el jar 2.2.6
com.google.guava : guava jar 23.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Build Status Coverage Status Maintainability

Project OpenUBL

Este proyecto sentó las bases para el proyecto https://github.com/project-openubl/xml-builder. Este repositorio será, de hoy en adelante, de solo lectura. Vease xml-builder como la segunda generacion de creador de XMLs para la facturacion electronica. https://github.com/project-openubl/xml-builder

sunat-jaxb

Libreria que permite la creación de comprobantes de pago electrónicos de acuerdo al estadar UBL 2.

Crear Bean

InvoiceBean invoiceBean = InvoiceBeanBuilder.InvoiceBean()
                .serie("F001")
                .numero(1)
                .tipoDocumento("01")
                .observaciones("Sin observaciones")
                .fecha(
                        FechaBeanBuilder.FechaBean()
                                .fechaEmision(Calendar.getInstance().getTime())
                                .fechaVencimiento(Calendar.getInstance().getTime())
                                .build()
                )
                .moneda(
                        MonedaBeanBuilder.Moneda()
                                .codigo("PEN")
                                .tipoCambio(new BigDecimal("3.21"))
                                .build()
                )
                .impuestos(
                        ImpuestosBeanBuilder.Impuestos()
                                .igv(new BigDecimal("10"))
                                .isc(new BigDecimal("1"))
                                .build()
                )
                .total(
                        TotalBeanBuilder.Total()
                                .pagar(new BigDecimal("5"))
                                .descuentoGlobal(new BigDecimal("6"))
                                .otrosCargos(new BigDecimal("5"))
                                .build()
                )
                .totalInformacionAdicional(
                        TotalInformacionAdicionalBeanBuilder.TotalInformacionAdicionalBean()
                                .gravado(BigDecimal.ZERO)
                                .inafecto(BigDecimal.ZERO)
                                .exonerado(BigDecimal.ZERO)
                                .gratuito(BigDecimal.ZERO)
                                .build()
                )
                .proveedor(
                        ProveedorBeanBuilder.ProveedorBean()
                                .codigoTipoDocumento("6")
                                .numeroDocumento("10467793549")
                                .nombreComercial("Wolsnut4 S.A.")
                                .razonSocial("Wolsnut4 Consultores")
                                .codigoPostal("050101")
                                .direccion("Jr. ayacucho 123")
                                .region("Ayacucho")
                                .provincia("Huamanga")
                                .distrito("Jesus Nazareno")
                                .codigoPais("PE")
                                .build()
                )
                .cliente(
                        ClienteBeanBuilder.ClienteBean()
                                .codigoTipoDocumento("3")
                                .numeroDocumento("46779354")
                                .nombre("Carlos Esteban Feria Vila")
                                .email("[email protected]")
                                .direccion("Jr. carlos 997")
                                .build()
                )
                .addDetalle(
                        DetalleBeanBuilder.Detalle()
                                .cantidad(BigDecimal.ONE)
                                .precioUnitario(BigDecimal.TEN)
                                .totalIgv(new BigDecimal("1.8"))
                                .codigoTipoIgv(TipoAfectacionIgv.GRAVADO_OPERACION_ONEROSA.getCodigo())
                                .descripcion("Lapiceros de color azul")
                                .unidadMedida("NIU")
                        .build()
                )
                .build();

Ahora que ya tienes el bean, conviértelo:

InvoiceType invoiceType = BeanToType.toInvoiceType(invoiceBean, TimeZone.getDefault());

Puedes crear tambien un xml:

oasis.names.specification.ubl.schema.xsd.invoice_2.ObjectFactory factory = new oasis.names.specification.ubl.schema.xsd.invoice_2.ObjectFactory();
JAXBElement<InvoiceType> jaxbElement = factory.createInvoice(invoiceType);
Document xmlDocument = JaxbUtils.toDocument(InvoiceType.class, jaxbElement);

Puedes crear el archivo:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
Result output = new StreamResult(new File("output.xml"));
Source input = new DOMSource(xmlDocument);
transformer.transform(input, output);

Versions

Version
1.1.4.Final
1.1.3.Final
1.1.2.Final
1.1.1.Final
1.0.0.Final