[All schemas](/reference/schemas/) · [API reference](/reference/) · [Data mapping guide](/guides/data-model/)

## Fields

| Field | Required | Type / allowed values |
| --- | --- | --- |
| `debit_note_lines` | Yes | array |
| `legal_monetary_totals` | Yes | object |
| `tax_totals` | No | array |
| `payment_form` | No | object |

## JSON definition

The JSON retains the source contract descriptions. Do not translate property names or enum values.

```json
{
  "type": "object",
  "properties": {
    "debit_note_lines": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "code": {
            "type": "string",
            "maxLength": 60
          },
          "invoiced_quantity": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "price_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "line_extension_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "base_quantity": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "unit_measure_id": {
            "type": "integer"
          },
          "type_item_identification_id": {
            "type": "integer"
          },
          "free_of_charge_indicator": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "maxLength": 500
          },
          "allowance_total": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "charge_total": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "tax_totals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tax_id": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 4
                },
                "tax_amount": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
                  "example": "100000.00"
                },
                "percent": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
                  "example": "100000.00"
                },
                "taxable_amount": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
                    },
                    {
                      "type": "number"
                    }
                  ],
                  "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
                  "example": "100000.00"
                }
              },
              "required": [
                "tax_id",
                "tax_amount",
                "percent",
                "taxable_amount"
              ],
              "additionalProperties": false
            },
            "maxItems": 4
          }
        },
        "required": [
          "description",
          "invoiced_quantity",
          "price_amount",
          "line_extension_amount"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 5000
    },
    "legal_monetary_totals": {
      "type": "object",
      "properties": {
        "line_extension_amount": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
            },
            {
              "type": "number"
            }
          ],
          "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
          "example": "100000.00"
        },
        "tax_exclusive_amount": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
            },
            {
              "type": "number"
            }
          ],
          "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
          "example": "100000.00"
        },
        "tax_inclusive_amount": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
            },
            {
              "type": "number"
            }
          ],
          "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
          "example": "100000.00"
        },
        "payable_amount": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
            },
            {
              "type": "number"
            }
          ],
          "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
          "example": "100000.00"
        },
        "allowance_total_amount": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
            },
            {
              "type": "number"
            }
          ],
          "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
          "example": "100000.00"
        },
        "charge_total_amount": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
            },
            {
              "type": "number"
            }
          ],
          "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
          "example": "100000.00"
        }
      },
      "required": [
        "line_extension_amount",
        "tax_exclusive_amount",
        "tax_inclusive_amount",
        "payable_amount"
      ],
      "additionalProperties": false
    },
    "tax_totals": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tax_id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4
          },
          "tax_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "percent": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          },
          "taxable_amount": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d{1,15}(?:\\.\\d{1,6})?$"
              },
              {
                "type": "number"
              }
            ],
            "description": "Valor decimal como texto (\"100.00\") o número JSON. Use punto decimal, sin separador de miles; se admiten hasta 6 decimales.",
            "example": "100000.00"
          }
        },
        "required": [
          "tax_id",
          "tax_amount",
          "percent",
          "taxable_amount"
        ],
        "additionalProperties": false
      },
      "maxItems": 4
    },
    "payment_form": {
      "type": "object",
      "properties": {
        "payment_form_id": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2
        },
        "payment_method_id": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "payment_due_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Fecha AAAA-MM-DD.",
          "example": "2026-10-15"
        },
        "duration_measure": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        }
      },
      "required": [
        "payment_form_id",
        "payment_method_id"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "debit_note_lines",
    "legal_monetary_totals"
  ],
  "additionalProperties": false,
  "description": "Valores adicionales de la nota débito. El servidor deriva cliente, factura referenciada, campos de salud y numeración. No envíe billing_reference, customer, número ni fecha. El total debe ser positivo y corresponder a los servicios RIPS adicionales."
}
```
