TRANSPORTE#
Grupo de campos para facturas de servicio nacional de carga, transporte nacional de pasajeros por vía terrestre, transporte nacional de pasajeros por vía aérea o marítima.
1. OperationType (TRANSPORTE)
Invoice.OperationType
/Invoice/cbc:CustomizationID
Un documento de venta será reconocido como TRANSPORTE si el valor del OperationType es igual a “12”.
2. AcceptanceNumber (TRANSPORTE)
Invoice.Lines.Transport.AcceptanceNumber
/Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:Value/
Número Radicado de Aceptación de la Remesa: Este es un consecutivo único nacional que controla el RNDC (Registro Nacional Despacho de Carga) y que se le entrega a la empresa de transporte en señal de aceptación de que los datos enviados no tienen errores.
3. Number (TRANSPORTE)
Invoice.Lines.Transport.Number
/Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:Value/
Número de Remesa: Este es un consecutivo interno que lleva cada empresa de transporte.
El RNDC no controla rangos. La empresa puede manejar prefijos.
Es un dato alfanumérico de hasta 15 caracteres.
4. Quantity (TRANSPORTE)
Invoice.Lines.Transport.Quantity
/Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:ValueQuantity/
Cantidad transportada: Es un dato numérico sin decimales.
5. MeasureUnit (TRANSPORTE)
Invoice.Lines.Transport.MeasureUnit
/Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:ValueQuantity/ @unitcode
Las unidades de medida se especifican por los términos “GLL” (Galones) y “KGM” (Kilogramos).
El listado de los tipos de Measure Unit están disponibles en el método del WEB API de Saphety: MeasureUnit.
6. Value (TRANSPORTE)
Invoice.Lines.Transport.Value
/Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:Value/
Las unidades de medida se especifican por los términos “GLL” (Galones) y “KGM” (Kilogramos).
Se debe informar elemento cuando el elemento CustomizationID = “12”. Se debe informar la cantidad real entregada de la mercancía de la remesa Valor flete.
7. ServiceType (TRANSPORTE)
Invoice.Lines.Transport.ServiceType
/Invoice/cac:InvoiceLine/cbc:ID@schemeID/
Obligatorio si el documento es de tipo TRANSPORTE se deberá reportar el código “0” o “1” Sen todas las líneas:
0 = Servicio Adicional.
1 = Remesa de Transporte registrada en el RNDC.
DTO TRANSPORTE#
JSON (DTO) - TRANSPORTE
{
"Currency": "COP",
"SeriePrefix": "SETP",
"SerieNumber": "990045578",
"IssueDate": "2023-11-27T12:12:12",
"DueDate": "2023-11-27T12:12:12",
"DeliveryDate": "2023-11-27T12:12:12",
"CorrelationDocumentId": "POSTMAN-{{$timestamp}}",
"SerieExternalKey": "{{serieexternalkeyFV}}",
"IssuerParty": {
"Identification": {
"DocumentNumber": "{{nit}}",
"DocumentType": "NIT",
"CountryCode": "CO",
"CheckDigit": "{{digitoverificacion}}"
}
},
"OperationType": "12", /*Tipo de operación para Trasporte*/
"DeliveryTerms": { /*Seccion Trasporte - Opcional*/
"SpecialTerms": "Portes Debidos", /*Campo Trasporte - indicar cómo se pagan los costes del transporte (Texto libre)- Opcional*/
"IncotermCode": "CFR" /*Campo Trasporte Opcional*/ //https://api-factura-electronica-co-qa.saphety.com/v2/dataelements/incoterms//LossRiskResponsibilityCode
},
"PaymentMeans": [
{
"Code": "20",
"Mean": "1",
"DueDate": "2023-11-27"
}
],
"CustomerParty": {
"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"
}
},
"Lines": [
{
"Number": "1",
"Quantity": "1",
"QuantityUnitOfMeasure": "NAR",
"TaxSubTotals": [
{
"TaxCategory": "01",
"TaxPercentage": "19.00",
"TaxableAmount": "115000.00",
"TaxAmount": "21850.00"
}
],
"TaxTotals": [
{
"TaxCategory": "01",
"TaxAmount": "21850.00",
"RoundingAmount": "0.00"
}
],
"UnitPrice": "115000.00",
"GrossAmount": "115000.00",
"NetAmount": "115000.00",
"Item": {
"Gtin": "987654321",
"Description": "Descripcion del producto o servicio"
},
/*"TransportServiceType": "0", Campo Trasporte 0 = Servicio Adicional - 1 = Remesa de Transporte registrada en el RNDC*/
"Transport": { /* Trasporte */
"AcceptanceNumber": "123456", /* Trasporte: Número Radicado de Aceptación de la Remesa*/
"Number": "98765", /* Trasporte: Número de Remesa*/
"Quantity": "999999999", /* Trasporte: Cantidad transportada */
"MeasureUnit": "GLL", /* Trasporte: Unidad de Medida de la cantidad transportada GLL = gallon (US) ,KGM = kilogram - Https://api-factura-electronica-co-qa.saphety.com/v2/dataelements/unitsofmeasuresimplified*/
"Value": "888888888", /* Trasporte: Valor flete*/
"ServiceType": "0" /* Trasporte: tipo de servicio de trasporte 0 = Servicio Adicional - 1 = Remesa de Transporte registrada en el RNDC https://api-factura-electronica-co-qa.saphety.com/v2/dataelements/transportservicetypes*/
}
}
],
"TaxSubTotals": [
{
"TaxCategory": "01",
"TaxPercentage": "19.00",
"TaxableAmount": "115000.00",
"TaxAmount": "21850.00"
}
],
"TaxTotals": [
{
"TaxCategory": "01",
"TaxAmount": "21850.00",
"RoundingAmount": "0.00"
}
],
"Total": {
"GrossAmount": "115000.00",
"TotalBillableAmount": "136850.00",
"PayableAmount": "136850.00",
"TaxableAmount": "115000.00"
}
}
Important
Tener en cuenta en la sección de Total en el JSON, los campos de:
GrossAmount, La Sumatoria de los valores netos de las líneas del detalle ∑ (Lines.NetAmount), como se explica en la tabla de arriba si el NetAmount dentro de la línea del producto o servicio es 0 si es muestra comercial o regalo comercial.
TotalBillableAmount, En este campo se pone el Valor Bruto de la factura (GrossAmount) + Sumatoria valor total de los impuestos de las líneas ∑ (Line.TaxTotals.TaxAmount ), siendo así, si el GrossAmount es 0, solo es poner el valor total de los impuestos de las líneas (productos o servicios).
PayableAmount, Teniendo el campo anterior en cuenta se debe tomar esa cantidad delTotalBillableAmount, la fórmula a tener en cuenta es TotalBillableAmount – Descuentos Globales (AllowancesTotalAmount) + Cargos globales (ChargesTotalAmount), fijarse en si se tienen descuentos globales y/o recargos globales, en caso de tenerlos, usarlos en la fórmula.
TaxableAmount, Este campo es la sumatoria de todas las bases gravables de los servicios o productos, se hace de la siguiente manera, Total.TaxableAmount = ∑(TaxSubTotals.TaxableAmount) esto a nivel de factura.