Skip to content

Documentos Electrónicos

Crear un Documento Electrónico

POST https://api.contifico.com/sistema/api/v1/documento/

Este servicio permite agregar un nuevo documento electrónico a Contifico.

Parámetro Descripción
"autorizacion": "" La autorización debe ser enviada en blanco para los documentos electrónicos.
"electronico": true Especificar el parametro "true".

El número de documento debe poseer la siguiente estructura:

Expresión regular: [0-9]{3}-[0-9]{3}-[0-9]{1,9}

Ejemplo: 001-001-000008089

Completando la cantidad de ceros en el número de documento.

{
    "pos" : "ceaa9097-1d76-4eb8-0000-6f412fa0297b",
    "fecha_emision": "01/11/2015",
    "tipo_documento": "FAC",
    "documento": "001-001-000008089",
    "estado": "P",
    "electronico" : true,
    "autorizacion": "",
    "caja_id": null,
    "cliente": {
        "ruc": "0922054366001",
        "cedula": "0922054366",
        "razon_social": "Nombres del Cliente",
        "telefonos": "0988800001",
        "direccion": "Direccion cliente",
        "tipo": "N",
        "email": "cliente@contifico.com",
        "es_extranjero": false
    },
    "vendedor": {
        "ruc": "0904728680001",
        "cedula": "0904728680",
        "razon_social": "Nombres del Vendedor",
        "telefonos": "5104910",
        "direccion": "direccion del vendedor",
        "tipo": "N",
        "email": "vendedor@contifico.com",
        "es_extranjero": false
    },
    "descripcion": "FACTURA 8040",
    "subtotal_0": 0.00,
    "subtotal_12": 1.35,
    "iva": 0.16,
    "ice":0.00,
    "servicio": 0.00,
    "total": 1.51,
    "adicional1": "",
    "adicional2": "",
    "detalles": [{
        "producto_id": "RZxg87rxLh9Mb1pV",
        "cantidad": 1.00,
        "precio": 1.00,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 1.00,
        "base_no_gravable": 0.00
    },
    {
        "producto_id": "YqxgeprxLh9981cU",
        "cantidad": 1.00,
        "precio": 0.35,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 0.35,
        "base_no_gravable": 0.00,
        "porcentaje_ice":0.00,
        "valor_ice":0.00
    }],
    "cobros":[{
      "forma_cobro" : "TC",
      "monto" : 1.51,
      "numero_cheque" : "4567897",
      "tipo_ping" : "D"
    }]
}
Parámetro Tipo Longitud Descripción Obligatorio
pos varchar 36 API Token del POS. Si
fecha_emision date - Fecha de emision del documento. Si
tipo_documento varchar 3 Tipo de registro del documento (FAC:factura, LQC:liquidacion de compra). Si
documento varchar 17 Numero del documento. Si
estado varchar 1 Indicador del estado del documento (P:pendiente, C:cobrado, G:pagado, A:anulado, E:generado, F:facturado). No
autorizacion varchar 49 Numero de autorizacion del documento. (Vacio para electronicos) Si
caja_id varchar 16 Identificador de la caja desde la cual se realiza la transaccion. No
cliente objeto - objeto contenedor del cliente del documento. Si
ruc varchar 13 Ruc de la persona. Opcional
cedula varchar 10 Cedula de la persona. Si
razon_social varchar 300 Razon social de la persona. Si
telefonos varchar 300 Telefono de la persona. No
direccion varchar 300 Direccion de la persona. No
tipo varchar 1 Tipo de persona (N:Natural J:Juridica I:SinId P:Placa). Si
email varchar 50 Correo de la persona. No
es_extranjero bool Verificador de personas extranjeras. No
Vendedor objeto - objeto contenedor del vendedor del documento No
descripcion text - Explicación del documento. No
subtotal_0 decimal 10 Representa el valor subtotal (8 int, 2 decimal)max Si
subtotal_12 decimal 10 Representa el valor Subtotal del iva del documento (8 int, 2 decimall)max. Si
ice SmallIntegerField - Valor total de ICE que graba el producto con este impuesto (valor o porcentaje ice * cantidad del producto). Si
iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). Si
servicio decimal 10 Representa el valor del porcentaje de servicio del documento (8 int, 2 decimal)max. No
total decimal 10 Valor total del movimiento (8 int, 2 decimal)max. Si
adicional1 varchar 300 Dato adicional de la factura. No
adicional2 varchar 300 Dato adicional de la factura. No
detalles objeto - objeto contenedor de los items facturados del documento Si
producto_id varchar 16 Identificador del producto en el sistema. Si
cantidad decimal 13 Indica la cantidad del producto en el movimiento (7 int, 6 decimal)max. Si
precio decimal 13 Valor del producto en especifico (7 int, 6 decimal)max. Si
porcentaje_iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). No
porcentaje_descuento decimal 10 Representa el valor Subtotal del iva del documento. Si
base_cero decimal 10 Representa el valor del producto si grava 0% iva (8 int, 2 decimal). Si
base_gravable decimal 10 Representa el valor del producto si grava 12% iva (8 int, 2 decimal). Si
base_no_gravable decimal 10 Representa el valor del producto si no grava iva (8 int, 2 decimal). Si
porcentaje_ice SmallIntegerField - Representa el valor porcentual de ice que grava el producto.
valor_ice decimal 10 Representa el valor entero de ice que grava el producto.
cobros objeto - objeto contenedor de los cobros del documento. Opcional
forma_cobro varchar 10 Tipo de documento a aplicar el cobro o pago de la transacción (Ver lista tipos cobro). Si
monto decimal 10 Valor total del documento detalle relacionado (8 int, 2 decimal). Si
numero_cheque varchar 15 Numero de cheque en la transacción. No
tipo_ping varchar 1 Tipo de transaccion con TC (D:datafast, M:medianet, E:dataexpress, P:placetopay, A:alignet) Si

NOTA:
Para los casos de productos con impuesto ice se debe incluir el campo porcentaje_ice o valor_ice dependiendo de como este configurado el producto; el valor total por ice se debe incluir en el campo ice siguiendo el formato del json de ejemplo.

Para el caso de productos con impuesto IRBPNR se debe incluir en el campo total agregado el valor total de irbpnr que genera el producto, es decir; Ejemplo: si tiene un documento con un total de 1.25(incluidos iva e ice) y el irbpnr que graba su producto es de 0.02, el total seria 1.27

Documento Tipo Nota de Crédito

Este servicio permite agregar una nueva nota de credito a Contifico.

Para crear una Nota de Credito se debe hacer uso de la url:

POST https://api.contifico.com/sistema/api/v1/documento/

{
    "pos" : "ffc3de27-fb4c-48b4-a06e-a129cf37ea99",
    "fecha_emision": "26/01/2016",
    "tipo_documento": "NCT",
    "documento_relacionado_id": "9jaKrY5mDMU4yyek",
    "tipo_registro" : "PRO",
    "documento": "333-001-002008012",
    "autorizacion": "0123456787",
    "estado": "P",
    "caja_id": "",
    "cliente": {
        "ruc": "",
        "cedula": "0922054366",
        "razon_social": "Andres Gomez",
        "telefonos": "",
        "direccion": "",
        "tipo": "N",
        "email": "",
        "es_extranjero": false
    },
    "vendedor": "",
    "descripcion": "DETALLE NCT",
    "subtotal_0": 0.00,
    "subtotal_12": 125.00,
    "iva": 20.00,
    "total": 140.00,
    "adicional1": "165582/165581/165580/165579/165578/",
    "detalles": [{
        "producto_id": "x4LmavQwkcENe3No",
        "cantidad": 1.00,
        "precio": 125.00,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 125.00,
        "base_no_gravable": 0.00
    }]
}
Parámetro Tipo Longitud Descripción Obligatorio
pos varchar 36 API Token del POS. Si
fecha_emision date - Fecha de emision del documento. Si
tipo_documento varchar 3 Tipo de registro del documento (NCT:nota de credito). Si
tipo_registro varchar 3 Indica el tipo de registro del documento (CLI:cliente, PRO:proveedor). Si
documento_relacionado_id varchar 16 Indica el documento al cual se aplica la nota de credito. Si
documento varchar 17 Numero del documento. Si
estado varchar 1 Indicador del estado del documento (P:pendiente, C:cobrado, G:pagado, A:anulado, E:generado, F:facturado). No
autorizacion varchar 49 Numero de autorizacion del documento. (Vacio para electronicos) Si
caja_id varchar 16 Identificador de la caja desde la cual se realiza la transaccion. No
cliente objeto - objeto contenedor del cliente del documento. Si
ruc varchar 13 Ruc de la persona. Opcional
cedula varchar 10 Cedula de la persona. Si
razon_social varchar 300 Razon social de la persona. Si
telefonos varchar 300 Telefono de la persona. No
direccion varchar 300 Direccion de la persona. No
tipo varchar 1 Tipo de persona (N:Natural J:Juridica I:SinId P:Placa). Si
email varchar 50 Correo de la persona. No
es_extranjero bool Verificador de personas extranjeras. No
Vendedor objeto - objeto contenedor del vendedor del documento No
descripcion text - Explicación del documento. No
subtotal_0 decimal 10 Representa el valor subtotal (8 int, 2 decimal)max Si
subtotal_12 decimal 10 Representa el valor Subtotal del iva del documento (8 int, 2 decimall)max. Si
iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). Si
servicio decimal 10 Representa el valor del porcentaje de servicio del documento (8 int, 2 decimal)max. No
total decimal 10 Valor total del movimiento (8 int, 2 decimal)max. Si
adicional1 varchar 300 Dato adicional de la factura. No
adicional2 varchar 300 Dato adicional de la factura. No
detalles objeto - objeto contenedor de los items facturados del documento Si
producto_id varchar 16 Identificador del producto en el sistema. Si
cantidad decimal 13 Indica la cantidad del producto en el movimiento (7 int, 6 decimal)max. Si
precio decimal 13 Valor del producto en especifico (7 int, 6 decimal)max. Si
porcentaje_iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). No
porcentaje_descuento decimal 10 Representa el valor Subtotal del iva del documento. Si
base_cero decimal 10 Representa el valor del producto si grava 0% iva (8 int, 2 decimal). Si
base_gravable decimal 10 Representa el valor del producto si grava 12% iva (8 int, 2 decimal). Si
base_no_gravable decimal 10 Representa el valor del producto si no grava iva (8 int, 2 decimal). Si

NOTA: El json enviado es similar al de una factura de cliente electronica; Se debe indicar el campo tipo_documento en "NCT" y el campo documento_relacionado_id con el <ID> de integracion del documento a aplicar la nota de credito. Los valores de detalles de productos deben coincidir con los que tiene el documento a aplicar la nota de credito.

Documento Tipo Liquidacion de Compra

Este servicio permite agregar una nueva Liquidacion de compra a Contifico.

Para crear una Liquidacion de compra se debe hacer uso de la url:

POST https://api.contifico.com/sistema/api/v1/documento/

{
    "pos" : "ceaa9097-1d76-4eb8-0000-6f412fa0297b",
    "fecha_emision": "01/11/2015",
    "tipo_documento": "LQC",
    "tipo_registro" : "PRO",
    "documento": "001-001-000001111",
    "estado": "P",
    "electronico" : true,
    "autorizacion": "",
    "caja_id": null,
    "cliente": {
        "ruc": "0922054366001",
        "cedula": "0922054366",
        "razon_social": "Nombres del Cliente",
        "telefonos": "0988800001",
        "direccion": "Direccion cliente",
        "tipo": "N",
        "email": "cliente@contifico.com",
        "es_extranjero": false
    },
    "vendedor": {
        "ruc": "0904728680001",
        "cedula": "0904728680",
        "razon_social": "Nombres del Vendedor",
        "telefonos": "5104910",
        "direccion": "direccion del vendedor",
        "tipo": "N",
        "email": "vendedor@contifico.com",
        "es_extranjero": false
    },
    "descripcion": "FACTURA 8040",
    "subtotal_0": 0.00,
    "subtotal_12": 1.35,
    "iva": 0.16,
    "servicio": 0.00,
    "total": 1.51,
    "adicional1": "",
    "adicional2": "",
    "detalles": [{
        "producto_id": "RZxg87rxLh9Mb1pV",
        "cantidad": 1.00,
        "precio": 1.00,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 1.00,
        "base_no_gravable": 0.00
    },
    {
        "producto_id": "YqxgeprxLh9981cU",
        "cantidad": 1.00,
        "precio": 0.35,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 0.35,
        "base_no_gravable": 0.00
    }]
}
Parámetro Tipo Longitud Descripción Obligatorio
pos varchar 36 API Token del POS. Si
fecha_emision date - Fecha de emision del documento. Si
tipo_documento varchar 3 Tipo de registro del documento (FAC:factura, LQC:liquidacion de compra). Si
tipo_registro varchar 3 Tipo de documento (PRO:proveedor, CLI:cliente). Si
documento varchar 17 Numero del documento. Si
estado varchar 1 Indicador del estado del documento (P:pendiente, C:cobrado, G:pagado, A:anulado, E:generado, F:facturado). No
autorizacion varchar 49 Numero de autorizacion del documento. (Vacio para electronicos) Si
caja_id varchar 16 Identificador de la caja desde la cual se realiza la transaccion. No
cliente objeto - objeto contenedor del cliente del documento. Si
ruc varchar 13 Ruc de la persona. Opcional
cedula varchar 10 Cedula de la persona. Si
razon_social varchar 300 Razon social de la persona. Si
telefonos varchar 300 Telefono de la persona. No
direccion varchar 300 Direccion de la persona. No
tipo varchar 1 Tipo de persona (N:Natural J:Juridica I:SinId P:Placa). Si
email varchar 50 Correo de la persona. No
es_extranjero bool Verificador de personas extranjeras. No
Vendedor objeto - objeto contenedor del vendedor del documento No
descripcion text - Explicación del documento. No
subtotal_0 decimal 10 Representa el valor subtotal (8 int, 2 decimal)max Si
subtotal_12 decimal 10 Representa el valor Subtotal del iva del documento (8 int, 2 decimall)max. Si
iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). Si
servicio decimal 10 Representa el valor del porcentaje de servicio del documento (8 int, 2 decimal)max. No
total decimal 10 Valor total del movimiento (8 int, 2 decimal)max. Si
adicional1 varchar 300 Dato adicional de la factura. No
adicional2 varchar 300 Dato adicional de la factura. No
detalles objeto - objeto contenedor de los items facturados del documento Si
producto_id varchar 16 Identificador del producto en el sistema. Si
cantidad decimal 13 Indica la cantidad del producto en el movimiento (7 int, 6 decimal)max. Si
precio decimal 13 Valor del producto en especifico (7 int, 6 decimal)max. Si
porcentaje_iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). No
porcentaje_descuento decimal 10 Representa el valor Subtotal del iva del documento. Si
base_cero decimal 10 Representa el valor del producto si grava 0% iva (8 int, 2 decimal). Si
base_gravable decimal 10 Representa el valor del producto si grava 12% iva (8 int, 2 decimal). Si
base_no_gravable decimal 10 Representa el valor del producto si no grava iva (8 int, 2 decimal). Si

NOTA: El json enviado es similar al de una factura de cliente electronica; Se debe indicar el campo tipo_documento en "LQC" y "PRO" en el campo tipo_registro, el campo tipo_registro es obligatorio solamente en el caso de LQC ya que es el unico documento de proveedor electronico actualmente. Este tipo de documento solo se permite para personas naturales o extranjeras con cedula. Para actualizar los datos de "LQC" se puede hacer uso del metodo PUT detallado en la pestaña de TRANSACCION/DOCUMENTO.

Enviar al SRI Documentos Electrónicos

PUT https://api.contifico.com/sistema/api/v1/documento/<ID>/sri/

Este servicio permite enviar documentos electrónicos creados en Contifico de manera manual al SRI.

Se debe usar el metodo PUT y adjuntar el ID del documento. No se debe enviar el JSON nuevamente.

Adicional a esto, Contifico posee un script que envia automaticamente los documentos pendientes al SRI cada hora.

Documento Autorizado Externo

POST https://api.contifico.com/sistema/api/v1/documento/

Este servicio permite registrar un documento autorizado por una entidad ajena a contifico .

El cuerpo del json debe tener la siguiente forma:

La autorizacion debe ser la indicada en la autorizacion electronica del documento externo.

Ejemplo:

{
    "pos" : "ceaa9097-1d76-4eb8-0000-6f412fa0297b",
    "fecha_emision": "01/11/2015",
    "tipo_documento": "FAC",
    "documento": "001-001-000008089",
    "estado": "P",
    "autorizacion": "0123456789",
    "caja_id": null,
    "cliente": {
        "ruc": "0922054366001",
        "cedula": "0922054366",
        "razon_social": "Nombres del Cliente",
        "telefonos": "0988800001",
        "direccion": "Direccion cliente",
        "tipo": "N",
        "email": "cliente@contifico.com",
        "es_extranjero": false
    },
    "vendedor": {
        "ruc": "0904728680001",
        "cedula": "0904728680",
        "razon_social": "Nombres del Vendedor",
        "telefonos": "5104910",
        "direccion": "direccion del vendedor",
        "tipo": "N",
        "email": "vendedor@contifico.com",
        "es_extranjero": false
    },
    "descripcion": "FACTURA 8040",
    "subtotal_0": 0.00,
    "subtotal_12": 1.35,
    "iva": 0.16,
    "servicio": 0.00,
    "total": 1.51,
    "adicional1": "",
    "adicional2": "",
    "detalles": [{
        "producto_id": "RZxg87rxLh9Mb1pV",
        "cantidad": 1.00,
        "precio": 1.00,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 1.00,
        "base_no_gravable": 0.00
    },
    {
        "producto_id": "YqxgeprxLh9981cU",
        "cantidad": 1.00,
        "precio": 0.35,
        "porcentaje_iva": 12,
        "porcentaje_descuento": 0.00,
        "base_cero": 0.00,
        "base_gravable": 0.35,
        "base_no_gravable": 0.00
    }],
    "cobros":[{
      "forma_cobro" : "TC",
      "monto" : 1.51,
      "numero_cheque" : "4567897",
      "tipo_ping" : "D"
    }]
}
Parámetro Tipo Longitud Descripción Obligatorio
pos varchar 36 API Token del POS. Si
fecha_emision date - Fecha de emision del documento. Si
tipo_documento varchar 3 Tipo de registro del documento (FAC:factura, LQC:liquidacion de compra). Si
documento varchar 17 Numero del documento. Si
estado varchar 1 Indicador del estado del documento (P:pendiente, C:cobrado, G:pagado, A:anulado, E:generado, F:facturado). No
autorizacion varchar 49 Numero de autorizacion del documento. (Vacio para electronicos) Si
caja_id varchar 16 Identificador de la caja desde la cual se realiza la transaccion. No
cliente objeto - objeto contenedor del cliente del documento. Si
ruc varchar 13 Ruc de la persona. Opcional
cedula varchar 10 Cedula de la persona. Si
razon_social varchar 300 Razon social de la persona. Si
telefonos varchar 300 Telefono de la persona. No
direccion varchar 300 Direccion de la persona. No
tipo varchar 1 Tipo de persona (N:Natural J:Juridica I:SinId P:Placa). Si
email varchar 50 Correo de la persona. No
es_extranjero bool Verificador de personas extranjeras. No
Vendedor objeto - objeto contenedor del vendedor del documento No
descripcion text - Explicación del documento. No
subtotal_0 decimal 10 Representa el valor subtotal (8 int, 2 decimal)max Si
subtotal_12 decimal 10 Representa el valor Subtotal del iva del documento (8 int, 2 decimall)max. Si
iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). Si
servicio decimal 10 Representa el valor del porcentaje de servicio del documento (8 int, 2 decimal)max. No
total decimal 10 Valor total del movimiento (8 int, 2 decimal)max. Si
adicional1 varchar 300 Dato adicional de la factura. No
adicional2 varchar 300 Dato adicional de la factura. No
detalles objeto - objeto contenedor de los items facturados del documento Si
producto_id varchar 16 Identificador del producto en el sistema. Si
cantidad decimal 13 Indica la cantidad del producto en el movimiento (7 int, 6 decimal)max. Si
precio decimal 13 Valor del producto en especifico (7 int, 6 decimal)max. Si
porcentaje_iva SmallIntegerField - Valor de porcentaje de IVA que tiene el producto (0, 12, null). No
porcentaje_descuento decimal 10 Representa el valor Subtotal del iva del documento. Si
base_cero decimal 10 Representa el valor del producto si grava 0% iva (8 int, 2 decimal). Si
base_gravable decimal 10 Representa el valor del producto si grava 12% iva (8 int, 2 decimal). Si
base_no_gravable decimal 10 Representa el valor del producto si no grava iva (8 int, 2 decimal). Si
cobros objeto - objeto contenedor de los cobros del documento. Opcional
forma_cobro varchar 10 Tipo de documento a aplicar el cobro o pago de la transacción (Ver lista tipos cobro). Si
monto decimal 10 Valor total del documento detalle relacionado (8 int, 2 decimal). Si
numero_cheque varchar 15 Numero de cheque en la transacción. No
tipo_ping varchar 1 Tipo de transaccion con TC (D:datafast, M:medianet, E:dataexpress, P:placetopay, A:alignet) Si

Estado Autorizacion Documento Electronico

GET https://api.contifico.com/sistema/api/v1/documento/<id>/estado/

Este servicio permite consultar el estado de un documento electronico en contifico.

Existen 4 tipos de estados:

Estado Descripción
Firmado El documento electronico se encuentra firmado.
Enviado SRI El documento electronico esta en espera de la autorizacion por parte del SRI.
Autorizado El documento electronico se encuentra autorizado.
No Firmado El documento electronico no se ha firmado.

Ejemplo de json de respuesta:

{
    "documento_id": "MRYWb4j7ViRmeZ1m",
    "tipo_registro": "CLI",
    "tipo_documento": "FAC",
    "estado": "Autorizado"
}
Variable Descripción
documento_id Id de integracion del documento a consultar estado.
tipo_registro Tipo de registro de documento del cual se consulta el estado (Cliente/Proveedor)
tipo_documento Tipo de documento del cual se consulta el estado
estado Estado de autorizacion del documento a consultar