Skip to content

Crea documento con json y archivo

  • Method: POST
  • URI: /create-document-from-json/

Se obtiene archivo para almacenar en s3 y se crea el documento desde el json registrado en el body

Headers

  • Auth: Token de autenticación del usuario

Body

  • document_json: Cadena de texto (JSON) que contiene los datos estructurados del documento. Este parámetro debe ser un string en formato JSON que describa el contenido del documento.
  • file : Archivo adjunto que contiene el documento completo o una versión escaneada del mismo. Este parámetro espera un archivo en cualquier formato común (por ejemplo, PDF, imagen, etc.) que sirva como soporte del documento descrito en document_json.

Response

  • status_code: Código de estado HTTP 200_OK, que indica que el proceso se ha completado con éxito.

Ejemplo de uso

{
    "client": {
        "city": "3041", // Es el id de la ciudad en Numera
        "invoiceNumber": "INV-123456",
        "cufe": "1234567890ABCDEF",
        "date": "2024-11-14",
        "payDate": "2024-11-20",
        "nit": "1234567890",
        "identificationType": "cc",
        "name": "Mateo Pérez",
        "address": "Calle 123 # 45-67, Bogotá",
        "phone": "3123456789",
        "email": "mateo.perez@example.com",
        "international": false,
        "concepts": [
            {
                "description": "Laptop Dell XPS 13",
                "amount": 1,
                "unitOfMeasurement": "unit",
                "value": 5000000,
                "iva": "19%"
            }
        ],
        "iva": 950000,
        "globalDiscount": 60000,
        "consumptionTax": 50000,
        "gratification": 100000,
        "total": 6000000,
        "currencyCode": "COP",
        "cost_center_distribution": [
            {
                "cost_center_id": "9ed41c74-f37d-4fc2-8696-001a3c2f60aa",
                "percentage": 50
            },
            {
                "cost_center_id": "b7e21f52-5b9b-4f02-9018-3b59c8c09d0d",
                "percentage": 50
            }
        ] // Este campo "cost_center_distribution" es opcional
    },
    "company": {
        "document_type_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "company_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
}

Consulta GraphQL para obtener el ID de la ciudad

La siguiente consulta GraphQL permite obtener el ID de la ciudad, el nombre de la ciudad y el nombre del departamento al que pertenece.

URL: https://esnumera.com/graphql/

Consulta GraphQL:

query cities {
  cities {
    id
    name
    department {
      id
      name
    }
  }
}

ejemplo respuesta:

{
    "data": {
        "cities": [
            {
                "id": 3073,
                "name": "ABEJORRAL",
                "department": {
                    "id": 2,
                    "name": "ANTIOQUIA"
                }
            }
        ]
    }
}

///

Aclaración de campos en el documento

La siguiente descripción detalla de algunos campos utilizados en el json y las condiciones bajo las cuales deben ser utilizados.

currencyCode:

Moneda local (ej. COP para pesos colombianos). Se usa en el campo value.
Obligatorio siempre, independientemente de si la factura es local o internacional.

foreignCurrencyCode:

Moneda extranjera (ej. USD, EUR). Se usa en el campo foreignValue.
Obligatorio solo si "international": true.

value:

Monto en moneda local (obligatorio siempre).
Se debe especificar el monto en la moneda indicada en currencyCode.

foreignValue:

Monto en moneda extranjera (solo si "international": true).
Si la factura es internacional, este campo debe contener el monto en la moneda definida en foreignCurrencyCode.

international:

Define si la factura tiene valores en moneda extranjera.

  • true:
    Si hay valores en moneda extranjera. Se debe incluir foreignCurrencyCode y foreignValue.

  • false:
    Solo moneda local. No se debe incluir foreignValue ni foreignCurrencyCode.

Uso del JSON para tipo de moneda en documentos DIFERENTES a Comprobante de egreso y Recibo de caja

Casos:

  • **Caso 1️⃣ Si la factura es internacional:

    Si la factura es internacional ("international": true), también es obligatorio incluir el campo foreignCurrencyCode, que representa la moneda extranjera utilizada para referencia (ej. USD, EUR). a continuacion ejemplo de json:

{
    "client": {
        "invoiceNumber": "8688",
        "cufe": "",
        "date": "2025-02-25",
        "payDate": "2025-02-28",
        "nit": "811111111",
        "name": "COLOMBIA",
        "address": "AV Calle 26 No. 102",
        "phone": "",
        "international": true,
        "concepts": [
            {
                "description": "description 1",
                "amount": 2779,
                "unitOfMeasurement": "A767",
                "value": 400000,
                "foreignValue": 100.0,
                "iva": "0%"
            },
            {
                "description": "description 2",
                "amount": 2779,
                "unitOfMeasurement": "A767",
                "value": 400000,
                "foreignValue": 100.0,
                "iva": "0%"
            }
        ],
        "iva": "0",
        "consumptionTax": 0,
        "globalDiscount": 0,
        "gratification": 0,
        "exchangeRate": 4000.0,
        "exchangeRateDate": "2025-02-18",
        "currencyCode": "COP", // Moneda local (obligatorio)
        "foreignCurrencyCode": "USD", // Moneda extranjera (obligatorio solo si es internacional)
        "cost_center_distribution": [
            {
                "cost_center_id": "710302cf-0e53-4f2a-8459-06408f86e5c5",
                "percentage": 100
            }
        ]
    },
    "company": {
        "document_type_id": "228556eb-ede5-477b-b824-4c05eda7a004",
        "company_id": "78eacb95-97d2-4f21-95f7-265b43a9eeb1"
    }
}
  • Caso 2️⃣ Si la factura No es internacional:
{
    "client": {
        "invoiceNumber": "8688",
        "cufe": "",
        "date": "2025-02-25",
        "payDate": "2025-02-28",
        "nit": "811111111",
        "name": "COLOMBIA",
        "address": "AV Calle 26 No. 102",
        "phone": "",
        "international": false,
        "concepts": [
            {
                "description": "description 1",
                "amount": 2779,
                "unitOfMeasurement": "A768",
                "value": 29986363.3,
                "iva": "0%"
            },
            {
                "description": "description 2",
                "amount": 2779,
                "unitOfMeasurement": "A768",
                "value": 29986363.3,
                "iva": "0%"
            }
        ],
        "iva": 0,
        "consumptionTax": 0,
        "globalDiscount": 0,
        "gratification": 0,
        "total": 59972726.6,
        "currencyCode": "COP",
        "cost_center_distribution": [
            {
                "cost_center_id": "710302cf-0e53-4f2a-8459-06408f86e5c5",
                "percentage": 100
            }
        ]
    },
    "company": {
        "document_type_id": "228556eb-ede5-477b-b824-4c05eda7a004",
        "company_id": "78eacb95-97d2-4f21-95f7-265b43a9eeb1"
    }
}

Uso del JSON para tipo de moneda en documentos de tipo Comprobante de egreso y Recibo de caja

Casos:

  • **Caso 1️⃣ Si la factura es internacional:
{
    "currencyCode": "COP",
    "foreignTotal": 2000.0,
    "exchangeRateDate": "2025-06-27",
    "foreignCurrencyCode": "USD",
    "international": true,
    "company": {
        "document_type_id": "f0fe8b5d-7aeb-4512-b3b0-5b21c48c78e0",
        "company_id": "0970d85a-3573-4e99-8a2a-a2ba57d5bd54"
    },
    "concepts": [
        {
            "paymentMethodId": "PM001",
            "description": "PAGO INTERBANC",
            "reference": "9005855123",
            "details": [
                {
                    "date": "2025-06-27",
                    "company": "Empresa XYZ",
                    "crossingDocument": "FE2598",
                    "thirdNit": "9005855123",
                    "thirdName": "ELIAS 1 COLOMBIA S.A.S.",
                    "value": 4054380.0,
                    "foreignValue": 1000.0
                }
            ]
        },
        {
            "paymentMethodId": "PM001",
            "description": "PAGO INTERBANC",
            "reference": "35461776",
            "details": [
                {
                    "date": "2025-06-27",
                    "company": "Empresa XYZ",
                    "crossingDocument": "FE2417",
                    "thirdNit": "830112123",
                    "thirdName": "LATINCRITERIA S.A.S.",
                    "value": 4054380.0,
                    "foreignValue": 1000.0
                }
            ]
        }
    ]
}
  • **Caso 2️⃣ Ejemplo de moneda NO internacional en el json
{
    "currencyCode": "COP",
    "international": false,
    "currency": "COP",
    "company": {
        "document_type_id": "f0fe8b5d-7aeb-4512-b3b0-5b21c48c78e0",
        "company_id": "0970d85a-3573-4e99-8a2a-a2ba57d5bd54"
    },
    "concepts": [
        {
            "paymentMethodId": "PM001",
            "description": "PAGO INTERBANC",
            "reference": "9005855464",
            "details": [
                {
                    "date": "2025-06-10",
                    "company": "Empresa XYZ",
                    "crossingDocument": "FE2598",
                    "thirdNit": "900585546",
                    "thirdName": "ELIAS 1 COLOMBIA S.A.S.",
                    "value": "$1,136,868"
                }
            ]
        },
        {
            "paymentMethodId": "PM002",
            "description": "PAGO DE PROV",
            "reference": "860535126",
            "details": [
                {
                    "date": "2025-06-10",
                    "company": "Empresa XYZ",
                    "crossingDocument": "FE2581",
                    "thirdNit": "860535126",
                    "thirdName": "PACHON UJUETA Y CIA S EN CS",
                    "value": "$1,425,434"
                }
            ]
        }
    ]
}