IMPUESTOS#

Gravados#

Grupo de campos para información relacionada con un tributo aplicable a una línea y a nivel global de un Documento Soporte, se deberá aplicar el Impuesto sobre el Valor Añadido, grava el consumo final de productos y/o servicios. Por lo tanto, es un Impuesto que paga el consumidor final. Cuando hablamos de un impuesto porcentual es porque multiplicamos por un %. En un Documento Soporte, se deberá aplicar el impuesto correspondiente en función de los productos o servicios que se ofrecen; los impuestos porcentuales definidos por DIAN son:

  • Impuesto de Valor Agregado – IVA.

Nota: Recuerde que debe informar a nivel de línea y de Documentos Soporte las secciones de TaxSubTotals y TaxTotals los productos que les sea gravado impuestos porcentuales.

Exentos#

Grupo de campos para información relacionada con Productos o servicios Exentos de IVA. Los servicios exentos de IVA son todos aquellos que se contemplan en la ley como generadores de IVA pero que cuentan con una tarifa igual al 0%.

Nota: Recuerde que debe informar a nivel de línea y de factura las secciones de TaxSubTotals y TaxTotals los productos que estén exentos de IVA.

Productos o servicios Grabados o Exentos que se reportan en la factura a nivel de línea#

1. TaxCategory (IMPUESTOS)

Invoice.Lines.TaxSubTotals.TaxCategory

/Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory

TaxCategory: Identificador del tributo.
El listado de los tipos de TaxCategory: El código de impuesto permitido por la DIAN para Documento Soporte 01 – IVA.

  • Para gravables la tarifa a informar es la regulada por el gobierno a la fecha.

  • Para exentos la Tarifa a informar 0.00.

2. TaxPercentage (IMPUESTOS)

Invoice.Lines.TaxSubTotals.TaxPercentage

/Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

TaxPercentage: Porcentaje del tributo.

3. TaxableAmount (IMPUESTOS)

Invoice.Lines.TaxSubTotals.TaxableAmount

/Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount

TaxableAmount: Base Imponible sobre la que se calcula el valor del tributo.
Formula: Impuesto en la línea (Taxableamount) = Valor neto de la línea (NetAmount).

4. TaxAmount (IMPUESTOS)

Invoice.Lines.TaxSubTotals.TaxAmount

/Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount

TaxAmount: es el Valor del tributo que a su vez es el producto del porcentaje aplicado sobre la base imponible.
Formula: Valor del impuesto de la línea (TaxAmount) = Porcentaje del impuesto (TaxPercentage) * Base para calcular el impuesto en la línea (Taxableamount).

5. TaxCategory (IMPUESTOS)

Invoice.Lines.TaxTotals.TaxCategory

/Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID

TaxCategory: Identificador del tributo.
El listado de los tipos de TaxCategory: El código de impuesto permitido por la DIAN para Documento Soporte 01 – IVA.

6. TaxAmount (IMPUESTOS)

Invoice.Lines.TaxTotals.TaxAmount

/Invoice/cac:InvoiceLine/cac:TaxTotal/cbc:TaxAmount

TaxAmount: es la sumatoria del Valor de los tributos de la línea.
Formula:
Valor total del impuesto de la línea (TaxTotals.TaxAmount) = Sumatoria de todos los valores de los impuestos por línea ∑ (TaxSubTotals.TaxAmount)

7. RoundingAmount (IMPUESTOS)

Invoice.Lines.TaxTotals.RoundingAmount

/Invoice/cac:InvoiceLine/cac:TaxTotal/cbc:RoundingAmount

RoundingAmount corresponde al Redondeo agregado al impuesto y debe ser enviado de forma obligatoria, en caso de no tener redondeo se envía con valor 0.
Rechazo Si: TaxTotal/RoundingAmount <> Sumatoria de ((TaxTotal.TaxSubtotal.TaxableAmount * TaxTotal/TaxSubtotal/TaxCategory/Percent) - TaxTotal/TaxSubtotal/TaxAmount)

Productos o servicios Exentos que se reportan en la factura a nivel de global#

1. TaxCategory (IMPUESTOS)

Invoice.TaxSubTotals.TaxCategory

/Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:Name

TaxCategory: Identificador del tributo.
El listado de los tipos de TaxCategory: El código de impuesto permitido por la DIAN para Documento Soporte 01 – IVA.

  • Para gravables la tarifa a informar es la regulada por el gobierno a la fecha.

  • Para exentos la Tarifa a informar 0.00.

2. TaxPercentage (IMPUESTOS)

Invoice.TaxSubTotals.TaxPercentage

/Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

TaxPercentage: Porcentaje del tributo.

3. TaxableAmount (IMPUESTOS)

Invoice.TaxSubTotals.TaxableAmount

/Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount

TaxableAmount: es la sumatoria de las Bases Imponibles sobre la que se calcula el valor del tributo.
Formula: Impuesto a nivel global (TaxableAmount) = Sumatoria Valor neto de las líneas ∑ (Lines.NetAmount).
Notas:

  • Esta sumatoria debe reportarse agrupado por tipo de impuesto y porcentaje.

  • No se deben sumar las líneas que sean excluidos de IVA (Lines.ExcludeVat= true).

4. TaxAmount (IMPUESTOS)

Invoice.TaxSubTotals.TaxAmount

/Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount

TaxAmount: es la sumatoria del Valor de los tributos de la línea.
Formula: _Impuesto global (TaxAmount) = Base del impuesto global (TaxSubTotals.TaxableAmount) * Porcentaje del impuesto (TaxSubTotals.TaxPercentage).
Nota:

  • Esta sumatoria debe reportarse agrupado por tipo de impuesto y porcentaje.

5. TaxCategory (IMPUESTOS)

Invoice.TaxTotals.TaxCategory

/Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID

TaxCategory: Identificador del tributo.
El listado de los tipos de TaxCategory: El código de impuesto permitido por la DIAN para Documento Soporte 01 – IVA.

6. TaxAmount (IMPUESTOS)

Invoice.TaxTotals.TaxAmount

/Invoice/cac:TaxTotal/cbc:TaxAmount

TaxAmount: es la sumatoria del Valor de los tributos de la línea.
Formula:
Impuesto global (TaxTotals.TaxAmount) = Sumatoria de todos los valores de todos los tipos de impuesto ∑(TaxSubTotals.TaxAmount)

7. RoundingAmount (IMPUESTOS)

Invoice.TaxTotals.RoundingAmount

/Invoice/cac:TaxTotal/cbc:RoundingAmount

RoundingAmount corresponde al Redondeo agregado al impuesto y debe ser enviado de forma obligatoria, en caso de no tener redondeo se envía con valor 0.
Rechazo Si: TaxTotal/RoundingAmount <> Sumatoria de ((TaxTotal.TaxSubtotal.TaxableAmount * TaxTotal/TaxSubtotal/TaxCategory/Percent) - TaxTotal/TaxSubtotal/TaxAmount)

8. TaxInclusiveAmount (IMPUESTOS)

Invoice.Total.TotalBillableAmount

/Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount

TotalBillableAmount : es el Total del Valor Bruto más tributos es igual a Valor Bruto de la factura que contienen el valor comercial más la Suma de los Tributos de todas las líneas de detalle.
Formula:
TotalBillableAmount = Valor Bruto de la factura (GrossAmount) + Sumatoria valor total de los impuestos de las líneas ∑ (Line.TaxTotals.TaxAmount).

8. TaxInclusiveAmount (IMPUESTOS)

Invoice.Total.TaxableAmount

/Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount

TaxableAmount: es el Valor Bruto más tributos tiene que ser igual a Valor Bruto de la factura que contienen el valor comercial, más la Suma de los Tributos de todas las líneas de detalle.
Formula Impuesto a nivel global (Total.TaxableAmount) = GrossAmount.
Notas:

  • No se deben sumar las líneas que sean excluidos de IVA (Lines.ExcludeVat= true).

Excluidos#

Grupo de campos para información relacionada con Productos o servicios excluidos de IVA.

Los servicios excluidos de IVA son aquellos que, por disposición del Estado, se les de la calidad de “no causa” en el Impuesto sobre las Ventas, tales como: Los servicios médicos, odontológicos, hospitalarios, clínicos y de laboratorio, para la salud humana y se debe informar a nivel de línea.

1. TaxCategory (IMPUESTOS)

Invoice.Lines.ExcludeVat

NA

Este campo se debe enviar en “true” cuando el producto o servicio es Excluido de IVA.
Nota: Lines.TaxSubTotals y Lines.TaxTotals no se reportan a nivel de línea.

2. TotalBillableAmount (IMPUESTOS)

Invoice.Total.TotalBillableAmount

/Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount

TotalBillableAmount: es el total del Valor Bruto más tributos es igual a Valor Bruto de la factura que contienen el valor comercial, más la Suma de los Tributos de todas las líneas de detalle.
Formula:
TotalBillableAmount = Valor Bruto de la factura (GrossAmount) + Sumatoria valor total de los impuestos de las líneas ∑ (Line.TaxTotals.TaxAmount).

2. TaxableAmount (IMPUESTOS)

Invoice.Total.TaxableAmount

/Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount

TaxableAmount: es el Valor Bruto más tributos tiene que ser igual a Valor Bruto de la factura que contienen el valor comercial, más la Suma de los Tributos de todas las líneas de detalle.
Formula:
Impuesto a nivel global (Total.TaxableAmount) = GrossAmount. Notas:

  • No se deben sumar las líneas que sean excluidos de IVA (Lines.ExcludeVat= true).

  • Si todos los productos son excluidos se debe informar este campo con valor 0.00.

Note

Las secciones de TAXTOTALS y TAXSuBTOTALS a nivel de documento soporte, deben aparecer SI se cuenta por lo menos con al menos un (1) producto que NO sea EXCLUIDO de IVA.

DTO IMPUESTOS#

JSON (DTO) - IMPUESTOS
{
    "Currency": "COP",
    "SeriePrefix": "SEDS",
    "SerieNumber": "984000001",
    "IssueDate": "2023-11-27T12:12:12",
    "DueDate": "2023-11-27T12:12:12",
    "DeliveryDate": "2023-11-27T12:12:12",
    "OperationType": "10", /*--> 10 vendedor es residente en co - 11 vendedor no es residente en co*/
    "CorrelationDocumentId": "POSTMAN-{{$timestamp}}",
    "SerieExternalKey": "{{serieexternalkeyDS}}",
    "PaymentMeans": [
        {
            "Code": "20",
            "Mean": "1",
            "DueDate": "2023-11-27"
        }
    ],
    "CustomerParty": {
        "Identification": {
            "DocumentNumber": "{{nit}}",
            "DocumentType": "NIT",
            "CountryCode": "CO",
            "CheckDigit": "{{digitoverificacion}}"
        }
    },
    "SupplierParty": {
        "LegalType": "Legal",
        "Email": "correo@sovos.com",
        "TaxScheme": "ZZ",
        "ResponsabilityTypes": [
            "R-99-PN"
        ],
        "Identification": {
            "DocumentNumber": "{{nit}}",
            "DocumentType": "NIT",
            "CountryCode": "CO",
            "CheckDigit": "{{digitoverificacion}}"
        },
        "Name": "Saphety Transacciones Electrónicas S.A.S",
        "Address": {
            "DepartmentCode": "11",
            "CityCode": "11001",
            "AddressLine": "Calle 97a No. 9 - 45",
            "Country": "CO",
            "PostalCode": "000000"
        }
    },
    "Lines": [
        {
            "Number": "1",
            "Quantity": "1",
            "QuantityUnitOfMeasure": "NAR",
            "TaxSubTotals": [ // IMPUESTO GRAVABLE
                {
                    "TaxCategory": "01",
                    "TaxPercentage": "19.00",
                    "TaxableAmount": "100000.00",
                    "TaxAmount": "19000.00"
                }
            ],
            "TaxTotals": [
                {
                    "TaxCategory": "01",
                    "TaxAmount": "19000.00",
                    "RoundingAmount": "0.00"
                }
            ],
            "UnitPrice": "100000.00",
            "GrossAmount": "100000.00",
            "NetAmount": "100000.00",
            "Item": {
                "Gtin": "xxxxx",
                "Description": "Servicio 1"
            },
            "InvoicePeriod": {
                "From": "2023-11-27",
                "DescriptionCode": "1"
            }
        },
        {
            "Number": "2",
            "Quantity": "1",
            "QuantityUnitOfMeasure": "NAR",
            "TaxSubTotals": [ // IMPUESTO EXENTO
                {
                    "TaxCategory": "01",
                    "TaxPercentage": "0.00",
                    "TaxableAmount": "100000.00",
                    "TaxAmount": "0.00"
                }
            ],
            "TaxTotals": [
                {
                    "TaxCategory": "01",
                    "TaxAmount": "0.00",
                    "RoundingAmount": "0.00"
                }
            ],
            "UnitPrice": "100000.00",
            "GrossAmount": "100000.00",
            "NetAmount": "100000.00",
            "Item": {
                "Gtin": "xxxxx",
                "Description": "Servicio 1"
            },
            "InvoicePeriod": {
                "From": "2022-07-22",
                "DescriptionCode": "1"
            }
        },
        {
            "Number": "3",
            "Quantity": "1",
            "QuantityUnitOfMeasure": "NAR",
            "Excludevat": "true", // EXCLUIDO IMPUESTOS
            "UnitPrice": "100000.00",
            "GrossAmount": "100000.00",
            "NetAmount": "100000.00",
            "Item": {
                "Gtin": "xxxxx",
                "Description": "Servicio 1"
            },
            "InvoicePeriod": {
                "From": "2022-07-22",
                "DescriptionCode": "1"
            }
        }
    ],
    "TaxSubTotals": [
        {
            "TaxCategory": "01",
            "TaxPercentage": "19.00", // GRABADO
            "TaxableAmount": "100000.00",
            "TaxAmount": "19000.00"
        },
        {
            "TaxCategory": "01",
            "TaxPercentage": "0.00", // EXENTO
            "TaxableAmount": "100000.00",
            "TaxAmount": "0.00"
        }
    ],
    "TaxTotals": [
        {
            "TaxCategory": "01",
            "TaxAmount": "19000.00",
            "RoundingAmount": "0.00"
        }
    ],
    "Total": {
        "GrossAmount": "300000.00",
        "TotalBillableAmount": "319000.00",
        "PayableAmount": "319000.00",
        "TaxableAmount": "200000.00"
    },
    "Notes": [
        "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
    ]
}