Factura Electrónica de Venta (FV)#

La Factura Electrónica de Venta es el documento que respalda las operaciones comerciales relacionadas con la venta de bienes y/o la prestación de servicios. A través de SOVOS Saphety, en calidad de Proveedor Tecnológico autorizado por la DIAN, se garantiza el cumplimiento del proceso completo de generación, transmisión, validación y expedición del documento, conforme a los requisitos establecidos en el anexo técnico vigente definido por la DIAN.

A continuación, se describe los métodos y estructuras para la creación de una Factura Electrónica de Venta.

Creación de una Factura Electrónica de Venta (FV).#

Para consumir el servicio de creación de facturas electrónicas, es necesario tener en cuenta el Entorno en el que se va a operar.

SOVOS Saphety dispone de dos ambientes: QA (pruebas) y Producción, detallados en el apartado correspondiente de esta documentación.

Consumo del método de creación.#

metodoFV

El Verbo Http (acción) que se utiliza para la creación de este documento es:

POST

El método que se utiliza para la creación de este documento es:

    /v2/{virtualOperator}/outbounddocuments/salesInvoiceAsync

Para esta petición se requiere como parámetro el alias de su operador virtual.

Parametro virtualOperator

Recuerde reemplazar en el método el parámetro {virtualOperator} con el alias de su operador virtual en minúsculas, por defecto el alias es “saphety”.

Body#

Estructura del mensaje JSON de una Factura Electrónica de Venta.#

A continuación encontrará la estructura Base definida por Saphety para la creación de una Factura Electrónica de Venta.

JSON (DTO)
{
  "Currency": "COP", 
  "SeriePrefix": "SETP",
  "SerieNumber": "990053146",	
  "IssueDate": "2023-07-01T12:12:12",
  "DueDate": "2023-07-01T12:12:12",
  "DeliveryDate": "2023-07-01T12:12:12",
  "CorrelationDocumentId": "POSTMAN-{{$timestamp}}",
  "SerieExternalKey": "{{serieexternalkeyFV}}", 
  "IssuerParty": {
    "Identification": {			
		"DocumentNumber": "{{nit}}",	 	
		"DocumentType": "NIT",		
		"CountryCode": "CO",		
		"CheckDigit": "{{digitoverificacion}}"		
	}	
  }, 
  "PaymentMeans": [
		{
			"Code": "20",
			"Mean": "1",
			"DueDate": "2023-07-01"
		}
	],
  "CustomerParty": {
    "LegalType": "Legal",
    "Email":"correo@sovos.com",	
    "Identification": {
                "DocumentNumber": "{{nit}}",
                "DocumentType": "NIT",
                "CountryCode": "CO",
                "CheckDigit": "{{digitoverificacion}}"
            },
    "Name": "Saphety Transacciones Electrónicas S.A.S"
  },
  "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"
		}],	
		"UnitPrice": "115000.00",		
		"GrossAmount": "115000.00",		
		"NetAmount": "115000.00",	
		"Item": {			
			"Gtin": "987654321",
			"Description": "Descripcion del producto o servicio"
		}	
	}],
  "TaxSubTotals": [{	
	"TaxCategory": "01",		
	"TaxPercentage": "19.00",		
	"TaxableAmount": "115000.00",		
	"TaxAmount": "21850.00"		
  }],
  "TaxTotals": [{
      "TaxCategory": "01",
      "TaxAmount": "21850.00"
  }],
  "Total": {				
	"GrossAmount": "115000.00",			
	"TotalBillableAmount": "136850.00",		
	"PayableAmount": "136850.00",			
	"TaxableAmount": "115000.00"		
  }
}

Términos importantes

A continuación, se describen las secciones clave del mensaje JSON para una Factura Electrónica de Venta:

  • A nivel global de la factura: Contiene información general como número consecutivo, fecha de emisión, forma y medio de pago, valor total, impuestos y descuentos globales, entre otros.

  • A nivel de línea: Describe los productos o servicios facturados, con sus respectivos valores unitarios, cantidades, descuentos, impuestos, retenciones, etc.

  • Emisor: Información completa de la persona natural o jurídica que emite la factura.

  • Adquiriente: Datos de identificación del receptor del documento (cliente o comprador).

Respuesta#

{
    "IsValid": true,
    "Warnings": [],
    "Errors": [],
    "ResultData": "25ed3777-ba70-4fd9-b019-d9dbeb1495ab",
    "ResultCode": 200
}
{
    "IsValid": false,
    "Warnings": [],
    "Errors": [
        {
            "Field": "SalesInvoice.Currency",
            "Code": "Required",
            "Description": null,
            "ExplanationValues": []
        }
    ],
    "ResultData": "00000000-0000-0000-0000-000000000000",
    "ResultCode": 400
}

Referencia: Swagger#

Para obtener más información, puedes consultar la documentación del API de SOVOS Saphety en Swagger. A continuación, se indican los enlaces según el ambiente: