Creación de XML de un DTE#

El formato XML es útil al momento de generar una factura electrónica porque permite que la información contenida en la factura sea estructurada y fácilmente procesable por sistemas informáticos. Al utilizar XML, se pueden definir etiquetas y atributos para cada dato, lo que facilita la lectura y el intercambio de información entre distintas aplicaciones y sistemas.

Además, el uso de XML en la facturación electrónica es un estándar internacional que permite la interoperabilidad y la integración entre sistemas, lo que significa que una factura electrónica generada en un sistema puede ser procesada y leída por otros sistemas sin dificultades. También es un formato legible por humanos y puede ser visualizado en un navegador web o en una herramienta de procesamiento de texto.

En resumen, el formato XML es fundamental en la generación de facturas electrónicas porque permite estructurar y procesar la información de manera eficiente, lo que facilita el intercambio y la interoperabilidad entre sistemas, además de ser legible tanto por sistemas como por humanos.

Es importante que siempre estemos al tanto de los cambios que se realizan por medio de la SAT, para que nuestros documentos sean certificados de la manera adecuada, ésto lo podemos realizar en la página de especificaciones técnicas que provee la SAT

POST •••/api/xml

Servicio para crear DTE enviando información en formato JSON.

Request#

Query

Key

Value

Description

tipo

base64

Se retornará el DTE codificado en Base64.

tipo

xml

Se retornará el DTE en formato XML. Esta es la opción por defecto si no se envía parámetro. Opción recomendada para validar la información contenida en el DTE.

firma

true

Se retornará el JSON necesario para el paso de Firma. Opcion recomendada para usar en conjunto con el paso Firmar.

Header

Key

Value

Description

appKey

{{appKey}}

Llave que se brinda para acceder a este servicio.

Body

{
    "dte": {
        "datosGenerales": {
            "tipo": "FACT",
            "fechaHoraEmision": "2023-01-15T12:56:49.6090",
            "codigoMoneda": "GTQ"
        },
        "emisor": {
            "nitEmisor": "{{NIT Emisor}}",
            "nombreEmisor": "nombreEmisor",
            "codigoEstablecimiento": 1,
            "nombreComercial": "nombreComercial",
            "correoEmisor": "correo@emisor.com",
            "afiliacionIVA": "GEN",
            "direccion": {
                "direccion": "direccionEmisor",
                "codigoPostal": 0,
                "municipio": "municipioEmisor",
                "departamento": "departamentoEmisor",
                "pais": "GT"
            }
        },
        "receptor": {
            "idReceptor": "CF",
            "nombreReceptor": "nombreReceptor",
            "correoReceptor": "correo@receptor.com",
            "direccion": {
                "direccion": "direccionReceptor",
                "codigoPostal": 0,
                "municipio": "municipioReceptor",
                "departamento": "departamentoReceptor",
                "pais": "GT"
            }
        },
        "frases": [
            {
                "tipoFrase": 1,
                "codigoEscenario": 1
            }
        ],
        "items": [
            {
                "bienOServicio": "B",
                "cantidad": 1,
                "unidadMedida": "UN",
                "descripcion": "descripcion del producto",
                "precioUnitario": 5000,
                "precio": 5000,
                "descuento": 0,
                "total": 5000,
                "impuestos": [
                    {
                        "nombreCorto": "IVA",
                        "codigoUnidadGravable": 1,
                        "montoGravable": 4464.2857142857,
                        "montoImpuesto": 535.7142857142
                    }
                ]
            }
        ],
        "totalImpuestos": [
            {
                "nombreCorto": "IVA",
                "totalMontoImpuesto": 535.7142857142
            }
        ],
        "adendas": {
            "valores": {
                "nombreAdenda": "Valor de la adenda"
            }
        },
        "granTotal": 5000
    }
}

Examples:#

Example: Crear DTE

POST •••/api/xml

Request

Header

Key

Value

Description

appKey

{{appKey}}

Llave que se brinda para acceder a este servicio.

Body

{
    "dte": {
        "datosGenerales": {
            "tipo": "FACT",
            "fechaHoraEmision": "2023-01-15T12:56:49.6090",
            "codigoMoneda": "GTQ"
        },
        "emisor": {
            "nitEmisor": "{{NIT Emisor}}",
            "nombreEmisor": "nombreEmisor",
            "codigoEstablecimiento": 1,
            "nombreComercial": "nombreComercial",
            "correoEmisor": "correo@emisor.com",
            "afiliacionIVA": "GEN",
            "direccion": {
                "direccion": "direccionEmisor",
                "codigoPostal": 0,
                "municipio": "municipioEmisor",
                "departamento": "departamentoEmisor",
                "pais": "GT"
            }
        },
        "receptor": {
            "idReceptor": "CF",
            "nombreReceptor": "nombreReceptor",
            "correoReceptor": "correo@receptor.com",
            "direccion": {
                "direccion": "direccionReceptor",
                "codigoPostal": 0,
                "municipio": "municipioReceptor",
                "departamento": "departamentoReceptor",
                "pais": "GT"
            }
        },
        "frases": [
            {
                "tipoFrase": 1,
                "codigoEscenario": 1
            }
        ],
        "items": [
            {
                "bienOServicio": "B",
                "cantidad": 1,
                "unidadMedida": "UN",
                "descripcion": "descripcion del producto",
                "precioUnitario": 5000,
                "precio": 5000,
                "descuento": 0,
                "total": 5000,
                "impuestos": [
                    {
                        "nombreCorto": "IVA",
                        "codigoUnidadGravable": 1,
                        "montoGravable": 4464.2857142857,
                        "montoImpuesto": 535.7142857142
                    }
                ]
            }
        ],
        "totalImpuestos": [
            {
                "nombreCorto": "IVA",
                "totalMontoImpuesto": 535.7142857142
            }
        ],
        "adendas": {
            "valores": {
                "nombreAdenda": "Valor de la adenda"
            }
        },
        "granTotal": 5000
    }
}

Example: Crear DTE, tipo=base64

POST •••/api/xml?tipo=base64

Request

Query

Key

Value

Description

tipo

base64

Se retornará el DTE codificado en Base64.

Header

Key

Value

Description

appKey

{{appKey}}

Llave que se brinda para acceder a este servicio.

Body

{
    "dte": {
        "datosGenerales": {
            "tipo": "FACT",
            "fechaHoraEmision": "2023-01-15T12:56:49.6090",
            "codigoMoneda": "GTQ"
        },
        "emisor": {
            "nitEmisor": "{{NIT Emisor}}",
            "nombreEmisor": "nombreEmisor",
            "codigoEstablecimiento": 1,
            "nombreComercial": "nombreComercial",
            "correoEmisor": "correo@emisor.com",
            "afiliacionIVA": "GEN",
            "direccion": {
                "direccion": "direccionEmisor",
                "codigoPostal": 0,
                "municipio": "municipioEmisor",
                "departamento": "departamentoEmisor",
                "pais": "GT"
            }
        },
        "receptor": {
            "idReceptor": "CF",
            "nombreReceptor": "nombreReceptor",
            "correoReceptor": "correo@receptor.com",
            "direccion": {
                "direccion": "direccionReceptor",
                "codigoPostal": 0,
                "municipio": "municipioReceptor",
                "departamento": "departamentoReceptor",
                "pais": "GT"
            }
        },
        "frases": [
            {
                "tipoFrase": 1,
                "codigoEscenario": 1
            }
        ],
        "items": [
            {
                "bienOServicio": "B",
                "cantidad": 1,
                "unidadMedida": "UN",
                "descripcion": "descripcion del producto",
                "precioUnitario": 5000,
                "precio": 5000,
                "descuento": 0,
                "total": 5000,
                "impuestos": [
                    {
                        "nombreCorto": "IVA",
                        "codigoUnidadGravable": 1,
                        "montoGravable": 4464.2857142857,
                        "montoImpuesto": 535.7142857142
                    }
                ]
            }
        ],
        "totalImpuestos": [
            {
                "nombreCorto": "IVA",
                "totalMontoImpuesto": 535.7142857142
            }
        ],
        "adendas": {
            "valores": {
                "nombreAdenda": "Valor de la adenda"
            }
        },
        "granTotal": 5000
    }
}

Example: Crear DTE, firma=true

POST •••/api/xml?firma=true

Request

Query

Key

Value

Description

firma

true

Se retornará el JSON necesario para el paso de Firma. Opcion recomendada para usar en conjunto con el paso Firmar.

Header

Key

Value

Description

appKey

{{appKey}}

Llave que se brinda para acceder a este servicio.

Body

{
    "dte": {
        "datosGenerales": {
            "tipo": "FACT",
            "fechaHoraEmision": "2023-01-15T12:56:49.6090",
            "codigoMoneda": "GTQ"
        },
        "emisor": {
            "nitEmisor": "{{NIT Emisor}}",
            "nombreEmisor": "nombreEmisor",
            "codigoEstablecimiento": 1,
            "nombreComercial": "nombreComercial",
            "correoEmisor": "correo@emisor.com",
            "afiliacionIVA": "GEN",
            "direccion": {
                "direccion": "direccionEmisor",
                "codigoPostal": 0,
                "municipio": "municipioEmisor",
                "departamento": "departamentoEmisor",
                "pais": "GT"
            }
        },
        "receptor": {
            "idReceptor": "CF",
            "nombreReceptor": "nombreReceptor",
            "correoReceptor": "correo@receptor.com",
            "direccion": {
                "direccion": "direccionReceptor",
                "codigoPostal": 0,
                "municipio": "municipioReceptor",
                "departamento": "departamentoReceptor",
                "pais": "GT"
            }
        },
        "frases": [
            {
                "tipoFrase": 1,
                "codigoEscenario": 1
            }
        ],
        "items": [
            {
                "bienOServicio": "B",
                "cantidad": 1,
                "unidadMedida": "UN",
                "descripcion": "descripcion del producto",
                "precioUnitario": 5000,
                "precio": 5000,
                "descuento": 0,
                "total": 5000,
                "impuestos": [
                    {
                        "nombreCorto": "IVA",
                        "codigoUnidadGravable": 1,
                        "montoGravable": 4464.2857142857,
                        "montoImpuesto": 535.7142857142
                    }
                ]
            }
        ],
        "totalImpuestos": [
            {
                "nombreCorto": "IVA",
                "totalMontoImpuesto": 535.7142857142
            }
        ],
        "adendas": {
            "valores": {
                "nombreAdenda": "Valor de la adenda"
            }
        },
        "granTotal": 5000
    }
}

Response

Body

{
  "dte": {
    "nit_transmitter": "{{NIT Emisor}}",
    "xml_dte": ""
  }
}