Factura Electrónica de Venta#

La factura electrónica es un documento que soporta las transacciones de venta de bienes y/o servicios, el cual, a través de SOVOS Saphety en calidad de Proveedor Tecnológico autorizado por la DIAN, permite realizar la generación, trasmisión para validación, validación y expedición del documento de acuerdo con los requisitos y definiciones legales del anexo técnico vigente regulado por 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 hacer el consumo de la API se deben tener en cuenta en que entorno se va a trabajar, SOVOS Saphety cuenta con dos ambientes especificados en el apartado de Entornos.

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

Encontrará los siguientes términos, los cuales le ayudarán a identificar la estructura del mensaje JSON y la información que se debe enviar en cada campo:

  • A nivel global de la factura: Datos generales de la factura de venta (Consecutivo de la factura, medios y formas de pago, total a pagar, impuestos globales, descuentos globales, fecha emisión de la factura, etc.).

  • A nivel de línea: Datos que detallan los productos o servicios de la factura (valor unitario, impuestos, descuentos, retenciones, etc).

  • Emisor: Datos que hacen referencia al Emisor de la factura.

  • Adquiriente: Datos que hacen referencia a la persona natural o Jurídica que se le emite el documento (Cliente).

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#

Si quieres más información dirígete a Swagger que es el modelo del API de SOVOS Saphety, para el ambiente de QA https://api-factura-electronica-co-qa.saphety.com/swagger/index.html y para el ambiente de producción https://api-factura-electronica-co.saphety.com/swagger/index.html