Documentación API FacturasWeb
Documentación API FacturasWeb
Documentación API FacturasWeb
DOCUMENTO DE
ESPECIFICACIÓN API
FACTURAS WEB
Contenido
MANUAL DE IMPLENTACIÓN API ........................................................................................................... 3
MÉTODOS .............................................................................................................................................. 3
1. Login........................................................................................................................................... 3
Request .......................................................................................................................................... 3
Parámetros .................................................................................................................................... 3
Response ........................................................................................................................................ 3
2. Insertar Factura.......................................................................................................................... 3
Request .......................................................................................................................................... 3
Parámetros .................................................................................................................................... 4
Response ........................................................................................................................................ 4
Ejemplos......................................................................................................................................... 5
3. Insertar Nota Débito .................................................................................................................. 7
Request .......................................................................................................................................... 7
Parámetros .................................................................................................................................... 7
Response ........................................................................................................................................ 8
Ejemplos......................................................................................................................................... 8
4. Insertar Nota Crédito ................................................................................................................. 9
Request .......................................................................................................................................... 9
Parámetros .................................................................................................................................. 10
Response ...................................................................................................................................... 10
Ejemplos....................................................................................................................................... 11
5. Obtener estado de un documento .......................................................................................... 12
Request ........................................................................................................................................ 12
Parámetros .................................................................................................................................. 12
Response ...................................................................................................................................... 12
Ejemplos....................................................................................................................................... 13
6. Insertar adjunto ....................................................................................................................... 13
1
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Request ........................................................................................................................................ 13
Parámetros .................................................................................................................................. 13
Response ...................................................................................................................................... 13
Ejemplos....................................................................................................................................... 14
7. Obtener XML del documento .................................................................................................. 15
Request ........................................................................................................................................ 15
Parámetros .................................................................................................................................. 15
Response ...................................................................................................................................... 15
Ejemplos....................................................................................................................................... 16
8. Obtener Dummy JSON (Factura) ............................................................................................. 22
Request ........................................................................................................................................ 23
Parámetros .................................................................................................................................. 23
Response ...................................................................................................................................... 23
Ejemplos....................................................................................................................................... 23
9. Diccionario de campos ............................................................................................................. 25
Insertar Factura............................................................................................................................ 25
Insertar Nota Crédito ................................................................................................................... 28
Insertar Nota Débito .................................................................................................................... 29
Obtener estado de documento ................................................................................................... 30
Obtener XML del documento ...................................................................................................... 30
Obtener Dummy factura .............................................................................................................. 31
10. Listados de códigos .............................................................................................................. 31
2
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
El presente documento describe los métodos de integración via API con el sistema de FacturasWeb
para emitir facturación electrónica con la DIAN.
MÉTODOS
1. Login
Permite al usuario obtener un token de autenticación que tiene una vigencia de 24 horas y se
utilizará para todas las consultas posteriores.
Request
Método URL
POST https://facturaswebapi.azurewebsites.net/api/web/factura/Login
Parámetros
Tipo Nombre Valores
POST username string
POST password string
Response
Status Response
200 “token”
400 “Unauthorized”
2. Insertar Factura
Request
Método URL
POST https://facturaswebapi.azurewebsites.net/api/web/factura/Insertar/{token}/{SchemaId}/{IdNumber}/{TemplateId}
3
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM schemaId string
URL_PARAM IdNumber String
URL_PARAM TemplateId String
BODY Model Json(invoice)
REQUEST FILE Attachment File (Optional)
Response
Status Response
200 “DocumentId”
400 “El número de factura ya existe”
400 “Error en el servidor remoto: (401) No autorizado.”
400 {"error":" El tipo de documento del cliente es obligatorio”}
400 {"error":" El tipo de documento del cliente debe ser numérico”}
400 {"error":"El número de identificación del cliente es obligatorio”}
400 {"error":"El tipo de régimen tributario del cliente es obligatorio”}
400 {"error":"El tipo de régimen tributario del cliente debe ser numérico”}
400 {"error":"El tipo de persona asociado al cliente es obligatorio”}
400 {"error":"El tipo de persona asociado al cliente debe ser numérico”}
400 {"error":"La razón social del cliente es obligatoria si el tipo de persona es ‘Jurídica’”}
400 {"error":"El primer nombre del cliente es obligatorio si el tipo de persona es ‘Natural’”}
400 {"error":"El primer apellido del cliente es obligatorio si el tipo de persona es ‘Natural’”}
400 {"error":"El primer apellido del cliente es obligatorio si el tipo de persona es ‘Natural’”}
400 {"error":"La ciudad del cliente es obligatoria”}
400 {"error":"El código de la ciudad debe ser numérico”}
400 {"error":"La dirección del cliente es obligatoria”}
400 {"error":"El teléfono del cliente debe ser numérico”}
400 {"error":"El número de resolución es obligatorio”}
400 {"error":" - El número de prefactura (ID generado por el software del Emisor) es
obligatorio”}
400 {"error":"El número de días de vencimiento de la factura debe ser numérico”}
400 {"error":"El código del prod/serv es obligatorio”}
400 {"error":"El nombre del prod/serv es obligatorio”}
400 {"error":"El precio unitario del prod/serv con código <<código>> debe ser obligatorio”}
400 {"error":" El precio unitario del prod/serv con código <<código>> debe ser numérico”}
400 {"error":" El valor total de la línea del prod/serv con código <<código>> debe ser
obligatorio”}
4
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
400 {"error":"El valor total de la línea del prod/serv con código <<código>> debe ser
numérico”}
400 {"error":"El campo "clase Impuesto" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados”}
400 {"error":"El campo "Tipo" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados”}
400 {"error":"El campo "Porcentaje" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados”}
400 {"error":"El porcentaje del impuesto/retención debe ser numérico”}
Status Response
200 “DocumentId”
400 “El número de factura ya existe”
400 “Error en el servidor remoto: (401) No autorizado.”
Token
Token de autenticación (Revisar Login).
Model
Corresponde al JSON de la factura a insertar.
SchemaID
Tipo de documento de la empresa sobre la cual se va a realizar el procedimiento
IDNumber
Numero de documento de la empresa sobre la cual se va a realizar el procedimiento
TemplateID
Código del tipo de plantilla que contendrá la factura. Si no se entrega este parámetro, el sistema
entenderá que es una plantilla genérica.
Attachment
Documento adjunto
Ejemplos
Tipo Ejemplo
Request {
"Customer_Information": {
"IdentificationType": 13,
"Identification": 1235,
"DV": 0,
"PartyTaxLevelCode": 2,
"PersonTypeID": 1,
5
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
6
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
},
"Invoice_Note": {
"Note": null
}
}
Response {
"DocumentId": <Document_id>
}
Request
Método URL
POST https://facturaswebapi.azurewebsites.net/api/web/notas/Debito/Insertar/{token}/{SchemaId}/{IdNumber}
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM schemaId string
URL_PARAM IdNumber String
BODY Model Json(debit note)
REQUEST FILE Attachment File (Optional)
Token
Token de autenticación (Revisar Login).
Model
Corresponde al JSON de la factura a insertar.
SchemaID
Tipo de documento de la empresa sobre la cual se va a realizar el procedimiento
IDNumber
Numero de documento de la empresa sobre la cual se va a realizar el procedimiento
Attachment
Documento adjunto
7
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Response
Status Response
200 “DocumentId”
400 “Error en el servidor remoto: (401) No autorizado.”
400 {"error":"El CUFE asociado a la factura es obligatorio"}
400 {"error":"El número de nota es obligatorio"}
400 {"error":"El concepto de nota es obligatorio"}
400 {"error":"El concepto de la nota debe ser numérico"}
400 {"error":"El porcentaje de intereses debe ser numérico"}
400 {"error":"El precio unitario real debe ser numérico"}
400 {"error":"El precio unitario real debe ser numérico"}
400 {"error":"El valor de la línea debe ser numérico"}
400 {"error":"El campo "clase Impuesto" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados"}
400 {"error":"El CUFE asociado a la factura es obligatorio"}
400 {"error":"El campo "Tipo" debe ser diligenciado si otros campos del Impuesto/Retención
han sido diligenciados"}
400 {"error":"El campo "Porcentaje" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados"}
400 {"error":"El porcentaje del impuesto/retención debe ser numérico"}
400 {"error":"El campo "Valor Gravable" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados"}
400 {"error":"El valor gravable del impuesto/retención debe ser numérico"}
400 {"error":"El campo "Valor Impuesto/Retención" debe ser diligenciado si otros campos
del Impuesto/Retención han sido diligenciados"}
400 {"error":"El valor del impuesto/retención debe ser numérico"}
400 {"error":"El subtotal de la nota es obligatorio"}
400 {"error":"El subtotal de la nota debe ser numérico"}
400 {"error":"El total de los impuestos es obligatorio"}
400 {"error":"El total de los impuestos debe ser numérico"}
400 {"error":"El total de la nota es obligatorio"}
400 {"error":"El total de la nota debe ser numérico"}
400 {"error":"La razón de la creación de la nota es obligatoria"}
500 {"error":"Lo sentimos se ha presentado un problema."}
Ejemplos
Tipo Ejemplo
Request {
"Invoice_Information": {
"Cufe": “1b306235a2582c86660a0f38121439dfb73d6a12”
8
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
},
"Note_Information": {
"Id": 21458,
"ResponseCode":4,
"Discount": 0,
"Interest": 0
},
"Item_Information": [
{
"ItemCode": 21848,
"QuantityBack": 0,
"Price": 3200,
"Amount": 3200
}
],
"Taxes_Information": [
{
"Id": 0,
"TaxEvidenceIndicator": false,
"Percent": 0,
"TaxableAmount": 0,
"TaxAmount": 0
}
],
"Payment_Summary": {
"LineExtensionAmount": 0,
"TaxExclusiveAmount": 0,
"PayableAmount": 0
},
"Note_Concept": {
"Note": null
}
}
Response {
"DocumentId": <Document_id>
}
Request
Método URL
POST https://facturaswebapi.azurewebsites.net/api/web/notas/Credito/Insertar/{token}/{SchemaId}/{Id
Number}
9
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM schemaId string
URL_PARAM IdNumber String
BODY Model Json(credit note)
REQUEST FILE Attachment File (Optional)
Token
Token de autenticación (Revisar Login).
Model
Corresponde al JSON de la factura a insertar.
SchemaID
Tipo de documento de la empresa sobre la cual se va a realizar el procedimiento
IDNumber
Numero de documento de la empresa sobre la cual se va a realizar el procedimiento
Attachment
Documento adjunto
Response
Status Response
200 “DocumentId”
400 “Error en el servidor remoto: (401) No autorizado.”
400 {"error":"El CUFE asociado a la factura es obligatorio"}
400 {"error":"El número de nota es obligatorio"}
400 {"error":"El concepto de nota es obligatorio"}
400 {"error":"El concepto de la nota debe ser numérico"}
400 {"error":"El porcentaje de intereses debe ser numérico"}
400 {"error":"El precio unitario real debe ser numérico"}
400 {"error":"El precio unitario real debe ser numérico"}
400 {"error":"El valor de la línea debe ser numérico"}
400 {"error":"El campo "clase Impuesto" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados"}
400 {"error":"El CUFE asociado a la factura es obligatorio"}
400 {"error":"El campo "Tipo" debe ser diligenciado si otros campos del Impuesto/Retención
han sido diligenciados"}
10
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
400 {"error":"El campo "Porcentaje" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados"}
400 {"error":"El porcentaje del impuesto/retención debe ser numérico"}
400 {"error":"El campo "Valor Gravable" debe ser diligenciado si otros campos del
Impuesto/Retención han sido diligenciados"}
400 {"error":"El valor gravable del impuesto/retención debe ser numérico"}
400 {"error":"El campo "Valor Impuesto/Retención" debe ser diligenciado si otros campos
del Impuesto/Retención han sido diligenciados"}
400 {"error":"El valor del impuesto/retención debe ser numérico"}
400 {"error":"El subtotal de la nota es obligatorio"}
400 {"error":"El subtotal de la nota debe ser numérico"}
400 {"error":"El total de los impuestos es obligatorio"}
400 {"error":"El total de los impuestos debe ser numérico"}
400 {"error":"El total de la nota es obligatorio"}
400 {"error":"El total de la nota debe ser numérico"}
400 {"error":"La razón de la creación de la nota es obligatoria"}
500 {"error":"Lo sentimos se ha presentado un problema."}
Ejemplos
Tipo Ejemplo
Request
{
"Invoice_Information": {
"Cufe": "1b306235a2582c86660a0f38121439dfb73d6a12"
},
"Note_Information": {
"Id": 21458,
"ResponseCode": 4,
"Discount": 0,
"Interest": 0
},
"Item_Information": [
{
"ItemCode": 21848,
"QuantityBack": 0,
"Price": 3200,
"Amount": 3200
}
],
"Taxes_Information": [
{
"Id": 0,
"TaxEvidenceIndicator": false,
"Percent": 0,
"TaxableAmount": 0,
"TaxAmount": 0
}
11
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
],
"Payment_Summary": {
"LineExtensionAmount": 3200,
"TaxExclusiveAmount": 3200,
"PayableAmount": 3200
},
"Note_Concept": {
"Note": "Para pagar en otro lado"
}
}
Response {
"DocumentId": <Document_id>
}
Request
Método URL
GET https://facturaswebapi.azurewebsites.net/api/web/factura/ConsultarDocumento/{token}/{documen
tId}/{documentType}
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM documentId String
URL_PARAM documentType String
Response
Status Response
200 “Document info”
400 “Unauthorized”
400 {"error":" El número de identificación del documento electrónico es obligatorio
"}
400 {"error":" El tipo de documento electrónico es obligatorio"}
400 {"error":" El tipo de documento electrónico debe ser numérico"}
500 {"error":"Lo sentimos se ha presentado un problema."}
12
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Ejemplos
Tipo Ejemplo
Request {
"DocumentId":15564,
"DocumentType":1
}
Response {
"DocumentStatus": Emitido,
"StatusDate": 2017/01/01 – 13:57:50,
"CUFE": ed296ca29ce9e886b2b6b3f2d6ea189eca1ebba1 <<este campo se entregará en el
response cuando se trate de una Factura que esté emitida>>,
"InvoiceNumber": 5566 <<este campo se entregará cuando se trate de una factura que esté
emitida>>,
"NoteNumber": NC123 <<este campo se entregará cuando se trate de una Nota>>,
"CustomerParty": Almacenes Éxito,
"CustomerPartyID": NIT - 880956889,
"PayableAmount": 300.000,
}
6. Insertar adjunto
Request
Método URL
POST https://facturaswebapi.azurewebsites.net/api/web/factura/InsertarAdjunto/{token}/{SchemaId}/{Id
Number}/{DocumentUUID}
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM SchemaId String
URL_PARAM IDNumber String
URL_PARAM DocumentUUID String
BODY Model JSON (attachments)
Response
Status Response
200 “ok”
400 “Unauthorized”
500 {"error":"Lo sentimos se ha presentado un problema."}
13
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Token
Token de autenticación (Revisar Login).
SchemaID
Tipo de documento de la empresa sobre la cual se va a realizar el procedimiento
IDNumber
Número de documento de la empresa sobre la cual se va a realizar el procedimiento
DocumentUUID
Identificación del documento electrónico.
Ejemplos
Tipo Ejemplo
Request {
“Attach”: [
{
“FileName”: “FactuasApi123.TXT”,
“TypeFile”: “10”
},
{
“FileName”: “FactuasApi123.TXT”,
“TypeFile”: “3”
},
{
“FileName”: “FactuasApi123.TXT”,
“TypeFile”: “2”
},
{
“FileName”: “FactuasApi123.TXT”,
“TypeFile”: “7”
},
{
“FileName”: “FactuasApi123.TXT”,
“TypeFile”: “1”
}
]
}
14
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Request
Método URL
GET https://facturaswebapi.azurewebsites.net/api/web/factura/ObtenerDocumento/{token}/{SchemaId}
/{IDNumber}/{documentId}/{documentType}
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM SchemaId String
URL_PARAM IDNumber String
URL_PARAM documentId String
URL_PARAM documentType String
Response
Status Response
200 “Document info”
400 “Unauthorized”
400 {"error":" Debe suministrar el tipo de identificación de la compañía”}
400 {"error":" El tipo de identificación de la compañía es inválido. Los tipos de documento
disponibles son: Registro Civil(11), Tarjeta de Identidad(12), Cédula Ciudadanía(13),
Tarjeta Extranjería(21), Cédula Extranjería(22), NIT(31), Pasaporte(41), Documento
Identificación Extranjero(42)”}
400 {"error":" Debe suministrar el número de identificación de la compañía”}
400 {"error":"El tipo de documento suministrado es inválido. Los tipos de documento
disponibles son: Factura(1), Nota Crédito(2), Nota Débito(3)”}
400 {"error":"Debe suministrar el identificador único de documento”}
400 {"error":"El identificador único de documento debe ser un GUID válido”}
15
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Token
Token de autenticación (Revisar Login).
SchemaID
Tipo de documento de la empresa sobre la cual se va a realizar el procedimiento
IDNumber
Número de documento de la empresa sobre la cual se va a realizar el procedimiento
DocumentType
Tipo de documento electrónico (Factura, Nota Crédito o Nota Débito) del cual se quiere obtener el
XML.
DocumentID
Identificación del documento electrónico del cual se quiere obtener el XML.
Ejemplos
Tipo Ejemplo
Reque {
"DocumentId":15564,
st
"DocumentType":1
}
Respo {
nse "XMLresult": “<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fe:Invoice xmlns:fe="http://www.dian.gov.co/contratos/facturaelectronica/v1"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:clm54217="urn:un:unece:uncefact:codelist:specification:54217:2001"
xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001"
xmlns:clmIANAMIMEMediaType="urn:un:unece:uncefact:codelist:specification:IANAMIMEMediaType:2003"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
xmlns:sts="http://www.dian.gov.co/contratos/facturaelectronica/v1/Structures"
xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.dian.gov.co/contratos/facturaelectronica/v1 ../xsd/DIAN_UBL.xsd
urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2
../../ubl2/common/UnqualifiedDataTypeSchemaModule-2.0.xsd
urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2 ../../ubl2/common/UBL-
QualifiedDatatypes-2.0.xsd">
16
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
<ext:UBLExtensions>
<ext:UBLExtension>
<ext:ExtensionContent>
<sts:DianExtensions>
<sts:InvoiceControl>
<sts:InvoiceAuthorization>469910</sts:InvoiceAuthorization>
<sts:AuthorizationPeriod>
<cbc:StartDate>2013-12-15</cbc:StartDate>
<cbc:EndDate>2015-12-15</cbc:EndDate>
</sts:AuthorizationPeriod>
<sts:AuthorizedInvoices>
<sts:Prefix>459</sts:Prefix>
<sts:From>10280906</sts:From>
<sts:To>19999999</sts:To>
</sts:AuthorizedInvoices>
</sts:InvoiceControl>
<sts:InvoiceSource>
<cbc:IdentificationCode listAgencyID="6" listAgencyName="United Nations Economic Commission for
Europe" listSchemeURI="urn:oasis:names:specification:ubl:codelist:gc:CountryIdentificationCode-
2.0">CO</cbc:IdentificationCode>
</sts:InvoiceSource>
<sts:SoftwareProvider>
<sts:ProviderID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas
Nacionales)">700085371</sts:ProviderID>
<sts:SoftwareID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y
Aduanas Nacionales)">f79992f5-983e-40d0-8049-094f081211da</sts:SoftwareID>
</sts:SoftwareProvider>
<sts:SoftwareSecurityCode schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de
Impuestos y Aduanas
Nacionales)">8295dcd6334a8d64d8495efdfddaaa1237020e6e0be5a4c3356c9502b4bc88740e2661a899ddff
5b5a3b0350a98e5d36</sts:SoftwareSecurityCode>
</sts:DianExtensions>
</ext:ExtensionContent>
</ext:UBLExtension>
<ext:UBLExtension>
<ext:ExtensionContent>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xmldsig-e7b5d982-29c7-4169-a97e-
526173f354ef">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference Id="xmldsig-e7b5d982-29c7-4169-a97e-526173f354ef-ref0" URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>rYj33os8GzcfvFntClVf0caUYHc=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#xmldsig-87d128b5-aa31-4f0b-8e45-3d9cfa0eec26-keyinfo">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>0iE/FGZgLfbnV9DhUaDBBVPjn44=</ds:DigestValue>
</ds:Reference>
17
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
18
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
iDL9ealTnOxdr+HhkzOSpuZM/deICh40N5fwEt6ZDCeNb/Eji41SRaTqlCI=
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<ds:Object>
<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"
xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" Target="#xmldsig-e7b5d982-29c7-4169-a97e-
526173f354ef">
<xades:SignedProperties Id="xmldsig-e7b5d982-29c7-4169-a97e-526173f354ef-signedprops">
<xades:SignedSignatureProperties>
<xades:SigningTime>2015-07-20T22:34:26.229-05:00</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>2el6MfWvYsvEaa/TV513a7tVK0g=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>C=CO,L=Bogota D.C.,O=Andes SCD.,OU=Division de certificacion entidad final,CN=CA
ANDES SCD S.A. Clase
II,1.2.840.113549.1.9.1=#1614696e666f40616e6465737363642e636f6d2e636f</ds:X509IssuerName>
<ds:X509SerialNumber>9128602840918470673</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>YGJTXnOzmebG2Mc6A/QapNi1PRA=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>C=CO,L=Bogota D.C.,O=Andes SCD,OU=Division de certificacion,CN=ROOT CA ANDES
SCD
S.A.,1.2.840.113549.1.9.1=#1614696e666f40616e6465737363642e636f6d2e636f</ds:X509IssuerName>
<ds:X509SerialNumber>7958418607150926283</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>6EVr7OINyc49AgvNkie19xul55c=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>C=CO,L=Bogota D.C.,O=Andes SCD,OU=Division de certificacion,CN=ROOT CA ANDES
SCD
S.A.,1.2.840.113549.1.9.1=#1614696e666f40616e6465737363642e636f6d2e636f</ds:X509IssuerName>
<ds:X509SerialNumber>3248112716520923666</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
<xades:SignaturePolicyIdentifier>
<xades:SignaturePolicyId>
<xades:SigPolicyId>
19
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
<xades:Identifier>http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato
_facturae_v3_1.pdf</xades:Identifier>
</xades:SigPolicyId>
<xades:SigPolicyHash>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>Ohixl6upD6av8N7pEvDABhEL6hM=</ds:DigestValue>
</xades:SigPolicyHash>
</xades:SignaturePolicyId>
</xades:SignaturePolicyIdentifier>
<xades:SignerRole>
<xades:ClaimedRoles>
<xades:ClaimedRole>supplier</xades:ClaimedRole>
</xades:ClaimedRoles>
</xades:SignerRole>
</xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
</ext:ExtensionContent>
</ext:UBLExtension>
</ext:UBLExtensions>
<cbc:UBLVersionID>UBL 2.0</cbc:UBLVersionID>
<cbc:ProfileID>DIAN 1.0</cbc:ProfileID>
<cbc:ID>45910281428</cbc:ID>
<cbc:UUID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas
Nacionales)">4ae0869bcc9044db987aecbe976187fd3ba0937c</cbc:UUID>
<cbc:IssueDate>2015-07-20</cbc:IssueDate>
<cbc:IssueTime>00:00:00</cbc:IssueTime>
<cbc:InvoiceTypeCode listAgencyID="195" listAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas
Nacionales)"
listSchemeURI="http://www.dian.gov.co/contratos/facturaelectronica/v1/InvoiceType">1</cbc:InvoiceType
Code>
<cbc:Note>
Factura de venta
</cbc:Note>
<cbc:DocumentCurrencyCode>COP</cbc:DocumentCurrencyCode>
<fe:AccountingSupplierParty>
<cbc:AdditionalAccountID>1</cbc:AdditionalAccountID>
<fe:Party>
<cac:PartyIdentification>
<cbc:ID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas
Nacionales)" schemeID="31">700085371</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>PJ - 700085371 - Adquiriente FE</cbc:Name>
</cac:PartyName>
<fe:PhysicalLocation>
<fe:Address>
<cbc:Department>Bolivar</cbc:Department>
<cbc:CitySubdivisionName>Centro</cbc:CitySubdivisionName>
<cbc:CityName>Pasa Caballos</cbc:CityName>
20
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
<cac:AddressLine>
<cbc:Line> carrera 8 Nº 6C - 60</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>CO</cbc:IdentificationCode>
</cac:Country>
</fe:Address>
</fe:PhysicalLocation>
<fe:PartyTaxScheme>
<cbc:TaxLevelCode>0</cbc:TaxLevelCode>
<cac:TaxScheme/>
</fe:PartyTaxScheme>
<fe:PartyLegalEntity>
<cbc:RegistrationName>PJ - 700085371</cbc:RegistrationName>
</fe:PartyLegalEntity>
</fe:Party>
</fe:AccountingSupplierParty>
<fe:AccountingCustomerParty>
<cbc:AdditionalAccountID>2</cbc:AdditionalAccountID>
<fe:Party>
<cac:PartyIdentification>
<cbc:ID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas
Nacionales)" schemeID="22">11222333</cbc:ID>
</cac:PartyIdentification>
<fe:PhysicalLocation>
<fe:Address>
<cbc:Department>Huila</cbc:Department>
<cbc:CitySubdivisionName>Centro</cbc:CitySubdivisionName>
<cbc:CityName>Aipe</cbc:CityName>
<cac:AddressLine>
<cbc:Line> carrera 8 Nº 6C - 40</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>CO</cbc:IdentificationCode>
</cac:Country>
</fe:Address>
</fe:PhysicalLocation>
<fe:PartyTaxScheme>
<cbc:TaxLevelCode>0</cbc:TaxLevelCode>
<cac:TaxScheme/>
</fe:PartyTaxScheme>
<fe:Person>
<cbc:FirstName>Primer-N</cbc:FirstName>
<cbc:FamilyName>Apellido-11222333</cbc:FamilyName>
<cbc:MiddleName>Segundo-N</cbc:MiddleName>
</fe:Person>
</fe:Party>
</fe:AccountingCustomerParty>
<fe:TaxTotal>
<cbc:TaxAmount currencyID="COP">15540.48</cbc:TaxAmount>
<cbc:TaxEvidenceIndicator>false</cbc:TaxEvidenceIndicator>
21
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
<fe:TaxSubtotal>
<cbc:TaxableAmount currencyID="COP">97128</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="COP">15540.48</cbc:TaxAmount>
<cbc:Percent>16</cbc:Percent>
<cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>01</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</fe:TaxSubtotal>
</fe:TaxTotal>
<fe:TaxTotal>
<cbc:TaxAmount currencyID="COP">4021.09</cbc:TaxAmount>
<cbc:TaxEvidenceIndicator>false</cbc:TaxEvidenceIndicator>
<fe:TaxSubtotal>
<cbc:TaxableAmount currencyID="COP">97128</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="COP">4021.09</cbc:TaxAmount>
<cbc:Percent>4.14</cbc:Percent>
<cac:TaxCategory>
<cac:TaxScheme>
<cbc:ID>03</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</fe:TaxSubtotal>
</fe:TaxTotal>
<fe:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="COP">97128</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="COP">19561.57</cbc:TaxExclusiveAmount>
<cbc:PayableAmount currencyID="COP">116689.57</cbc:PayableAmount>
</fe:LegalMonetaryTotal>
<fe:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity>456</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="COP">97128</cbc:LineExtensionAmount>
<fe:Item>
<cbc:Description>Línea-1 45910281428 fos0001_700085371_f7999_R469910-459-27223</cbc:Description>
</fe:Item>
<fe:Price>
<cbc:PriceAmount currencyID="COP">213</cbc:PriceAmount>
</fe:Price>
</fe:InvoiceLine>
</fe:Invoice>”
}
22
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Request
Método URL
GET https://facturaswebapi.azurewebsites.net/api/web/factura/ObtenerDummy/{token}/{SchemaId}/{ID
Number}/{TemplateID}
Parámetros
Tipo Nombre Valores
URL_PARAM token string
URL_PARAM SchemaId String
URL_PARAM IDNumber String
URL_PARAM TemplateID String
Token
Token de autenticación (Revisar Login).
SchemaID
Tipo de identificación de la empresa.
IDNumber
Número de identificación de la empresa.
TemplateID
Código de identificación de la plantilla a obtener.
Response
Status Response
200 “Document info”
400 “Unauthorized”
500 {"error":"Lo sentimos se ha presentado un problema."}
Ejemplos
Tipo Ejemplo
Response {
"Customer_Information": {
"IdentificationType": 0,
"Identification": null,
"DV": 0,
"PartyTaxLevelCode": 0,
"PersonTypeID": 0,
"RegistrationName": null,
"PersonFirstName": null,
"PersonMiddleName": null,
"PersonFamilyName": null,
23
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
"PersonFamilyName2": null,
"CityID": 0,
"AddressLine": null,
"Telephone": null,
"Email": null,
"WebSiteURI": null
},
"Authorization_Information": {
"InvoiceAuthorizationNumber": 0,
"PreinvoiceNumber": 0,
"DaysOff": 0
},
"Item_Information": [
{
"ItemCode": null,
"Name": null,
"Quantity": 0,
"Price": 0,
"Amount": 0,
"MeasureUnitCode": null,
"TaxesInformation": [
{
"Id": 0,
"TaxEvidenceIndicator": false,
"Percent": 0,
"TaxableAmount": 0,
"TaxAmount": 0
}
],
"AdditionalItemPropertyList": null,
"AdditionalFields": [
{
"Name": "Color Producto",
"Value": "Value"
}
]
}
],
"TaxesInformation": [
{
"Id": 0,
"TaxEvidenceIndicator": false,
"Percent": 0,
"TaxableAmount": 0,
"TaxAmount": 0
}
],
"Payment_Summary": {
"PaymentTypeID": 0,
"PaymentMethodNote": null,
"CurrencyCode": null
},
"Payment_Information": {
"LineExtensionAmount": 0,
24
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
"TaxExclusiveAmount": 0,
"PayableAmount": 0
},
"Invoice_Note": {
"Note": null
},
"Additional_Fields": [
{
"ReferenceName": "Detalles de pago",
"Name": "Tipo Pago",
"Value": "Value"
}
]
}
IMPORTANTE: para construir una factura exitosa se deberá enviar la misma estructura
entregada por el dummy ajustando el valor “Value” de los campos adicionales
(“Additional_Fields”) con la información que debe tener el campo referenciado.
“ReferenceName” es el módulo (dentro de la Representación Gráfica) al cual hace
parte el campo y “Name” es el nombre del campo (dentro de la Representación
Gráfica). También es importante aclarar que el arreglo que “Additional_Fields” que se
encuentra dentro de “Item_Information” son campos adicionales dentro de la tabla de
productos/servicios de la factura, y el arreglo “Additional_Fields” por fuera de
“Item_Information”, hace referencia a los campos adicional generales de la factura.
9. Diccionario de campos
Insertar Factura
Nombre Descripción
Información Cliente
IdentificationType Tipo de identificación del cliente asociado a la factura electrónica
(ver listado de códigos). Obligatorio
Identification Número de identificación del cliente asociado a la factura
electrónica. Obligatorio
DV Dígito de verificación del documento. Condicional (Obligatorio
cuando el tipo de documento es “NIT”).
PartyTaxLevelCode Régimen tributario del cliente asociado a la factura electrónica
(ver listado de códigos). Obligatorio
PersonTypeID Tipo persona del cliente asociado a la factura electrónica (ver
listado de códigos). Obligatorio
RegistrationName Razón social del cliente asociado a la factura electrónica.
Condicional (Este campo se debe completar cuando el tipo de
persona es “Jurídica”)
25
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
26
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
27
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
28
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
29
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
30
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Notas Crédito
Concepto Código
Devolución de parte de 1
los bienes; no aceptación
de partes del servicio
Rebaja en precio de 3
producto o servicio
Descuento Comercial 4
Otros 6
Notas Débito
Concepto Código
Intereses 1
Gastos por Cobrar 2
Cambio del valor 3
31
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Impuesto Código
IVA 01
Impoconsumo 02
ICA 03
Retefuente 04
32
DOCUMENTO DE ESPECIFICACIÓN API FACTURAS WEB
Boleano Código
Impuesto/Retención
Impuesto False
Retención True
33