Nota Crédito

POST/v1/api/facturacion

Usa el mismo endpoint de facturación con id_tipo_documento: 2

💡 Mismo endpoint: La Nota Crédito se emite a través de POST /v1/api/facturacion, diferenciada por el campo id_tipo_documento: 2.

Campos adicionales requeridos

  • id_tipo_documento: 2
  • id_documento_referencia: ID del documento original al que aplica la nota
  • id_concepto_nota: Código del motivo (ver tabla)
  • credit_note_lines: Líneas con credited_quantity en lugar de invoiced_quantity

Conceptos de Nota Crédito (DIAN)

CódigoConcepto
1Devolución parcial de los bienes
2Anulación de factura electrónica
3Rebaja o descuento parcial
4Ajuste de precio
5Otros

Ejemplo de Request

JSON
{
  "id_tipo_documento": 2,
  "id_documento_referencia": 15,
  "id_concepto_nota": "1",
  "customer": {
    "identification_number": "900123456",
    "name": "Empresa XYZ SAS",
    "email": "facturacion@xyz.com"
  },
  "credit_note_lines": [
    {
      "description": "Devolución parcial - Servicio de consultoría",
      "credited_quantity": 1,
      "line_extension_amount": 500000,
      "price_amount": 500000
    }
  ],
  "legal_monetary_totals": {
    "line_extension_amount": 500000,
    "tax_exclusive_amount": 500000,
    "tax_inclusive_amount": 595000,
    "payable_amount": 595000
  },
  "transmit": true
}

Nota Débito

POST/v1/api/facturacion

Usa el mismo endpoint de facturación con id_tipo_documento: 3

💡 Mismo endpoint: La Nota Débito se emite a través de POST /v1/api/facturacion, diferenciada por el campo id_tipo_documento: 3.

Campos adicionales requeridos

  • id_tipo_documento: 3
  • id_documento_referencia: ID del documento original
  • id_concepto_nota: Código del motivo (ver tabla)
  • debit_note_lines: Líneas con debited_quantity en lugar de invoiced_quantity

Conceptos de Nota Débito (DIAN)

CódigoConcepto
1Intereses
2Gastos por cobrar
3Cambio de valor
4Otros

Ejemplo de Request

JSON
{
  "id_tipo_documento": 3,
  "id_documento_referencia": 15,
  "id_concepto_nota": "1",
  "customer": {
    "identification_number": "900123456",
    "name": "Empresa XYZ SAS",
    "email": "facturacion@xyz.com"
  },
  "debit_note_lines": [
    {
      "description": "Intereses por mora",
      "debited_quantity": 1,
      "line_extension_amount": 50000,
      "price_amount": 50000
    }
  ],
  "legal_monetary_totals": {
    "line_extension_amount": 50000,
    "tax_exclusive_amount": 50000,
    "tax_inclusive_amount": 59500,
    "payable_amount": 59500
  },
  "transmit": true
}

Documento Soporte

POST/v1/api/facturacion

Usa el mismo endpoint de facturación con id_tipo_documento: 4

💡 Mismo endpoint: El Documento Soporte se emite a través de POST /v1/api/facturacion con id_tipo_documento: 4. Usa invoice_lines (misma estructura que FE).

Se emite cuando adquieres bienes o servicios de personas NO obligadas a facturar. Utiliza la misma estructura de invoice_lines que la Factura Electrónica.

  • id_tipo_documento: 4
  • invoice_lines: Misma estructura que FE (con invoiced_quantity)
  • El customer generalmente es Persona Natural (type_organization.code: "2")

Ejemplo de Request

JSON
{
  "id_tipo_documento": 4,
  "customer": {
    "identification_number": "1023456789",
    "name": "Juan Pérez",
    "email": "juan@correo.com",
    "type_document_identification": {
      "code": "13"
    },
    "type_organization": {
      "code": "2"
    }
  },
  "invoice_lines": [
    {
      "description": "Compra de insumos agrícolas",
      "invoiced_quantity": 10,
      "line_extension_amount": 200000,
      "price_amount": 20000
    }
  ],
  "legal_monetary_totals": {
    "line_extension_amount": 200000,
    "tax_exclusive_amount": 200000,
    "tax_inclusive_amount": 200000,
    "payable_amount": 200000
  },
  "transmit": true
}

Clientes

GET/v1/api/clientes

Listar clientes de la empresa.

POST/v1/api/clientes

Crear un nuevo cliente.

Ejemplos de Código
curl -X GET "https://api.jcflow.com.co/v1/api/clientes?limit=10" \
  -H "X-Api-Key: sk_test_tu_api_key_aqui"

Reenviar a DIAN

POST/v1/api/facturacion/reenviar/:id

Reenvía un documento en estado borrador o rechazado a la DIAN.

Útil para retransmitir documentos que fallaron previamente debido a problemas de conexión o errores de validación, o para transmitir aquellos guardados como borradores. Aplica para cualquier tipo de documento (FE, NC, ND, DS).

ℹ️ Nota: Solo se pueden reenviar documentos en estado Borrador (1) o Rechazado (4).

Correos Electrónicos

POST/v1/api/email/documento/:id

Enviar documento por correo

POST/v1/api/email/reenviar/:id_correo

Reenviar correo

GET/v1/api/email/logs/:id_documento

Ver logs de envío

ℹ️ Nota: El correo se envía automáticamente cuando un documento es transmitido exitosamente a la DIAN.
ℹ️ Nota: El correo incluye XML firmado + PDF como adjuntos.