Facturación a clientes

Facturas por emitir: revisión, aprobación, emisión y conciliación.

Crear una factura por emitir

POSThttps://api.drometra.com/v1/customer-finance/invoice-intents

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Cuerpo

connectionIdobligatoriostring · uuid
documentKindobligatorioenum: receipt | invoice | credit_note
customerIdobligatoriostring · uuid o null
creditedInvoiceIdstring · uuid
currencyobligatoriostring
minorUnitScaleobligatoriointeger
totalMinorobligatoriostring
linesobligatorioarray de object

Respuesta · 201

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • connectionIdstring · uuidsiempre
  • documentKindenum: receipt | invoice | credit_notesiempre
  • customerIdstring · uuid o nullsiempre
  • creditedInvoiceIdstring · uuid o nullsiempre
  • correlationIdstring · uuidsiempre
  • currencystringsiempre
  • minorUnitScaleintegersiempre
  • totalMinorstringsiempre
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …siempre
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedsiempre
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedsiempre
  • externalDocumentIdstring o nullsiempre
  • providerVersionstring o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre
  • updatedAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/customer-finance/invoice-intents" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "…",
    "documentKind": "…",
    "customerId": "…",
    "currency": "…",
    "minorUnitScale": 0,
    "totalMinor": "…",
    "lines": []
  }'
respuesta · 201
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "documentKind": "receipt",
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "currency": "…",
  "minorUnitScale": 0,
  "totalMinor": "…",
  "localState": "draft",
  "providerState": "not_sent",
  "taxState": "not_submitted",
  "externalDocumentId": "…",
  "providerVersion": "…",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z",
  "updatedAt": "2026-10-21T14:02:31Z"
}

Listar facturas por emitir

GEThttps://api.drometra.com/v1/customer-finance/invoice-intents

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de consulta

afterstring · uuid
limitinteger

Respuesta · 200

  • array de objectsiempre
  • nextCursorstring · uuid o nullsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/customer-finance/invoice-intents" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "items": [
    {
      "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "documentKind": "receipt",
      "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "currency": "…",
      "minorUnitScale": 0,
      "totalMinor": "…",
      "localState": "draft",
      "providerState": "not_sent",
      "taxState": "not_submitted",
      "externalDocumentId": "…",
      "providerVersion": "…",
      "version": 1,
      "createdAt": "2026-10-21T14:02:31Z",
      "updatedAt": "2026-10-21T14:02:31Z"
    }
  ],
  "nextCursor": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d"
}

Ver una factura por emitir

GEThttps://api.drometra.com/v1/customer-finance/invoice-intents/{id}

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • connectionIdstring · uuidsiempre
  • documentKindenum: receipt | invoice | credit_notesiempre
  • customerIdstring · uuid o nullsiempre
  • creditedInvoiceIdstring · uuid o nullsiempre
  • correlationIdstring · uuidsiempre
  • currencystringsiempre
  • minorUnitScaleintegersiempre
  • totalMinorstringsiempre
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …siempre
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedsiempre
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedsiempre
  • externalDocumentIdstring o nullsiempre
  • providerVersionstring o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre
  • updatedAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/customer-finance/invoice-intents/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "documentKind": "receipt",
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "currency": "…",
  "minorUnitScale": 0,
  "totalMinor": "…",
  "localState": "draft",
  "providerState": "not_sent",
  "taxState": "not_submitted",
  "externalDocumentId": "…",
  "providerVersion": "…",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z",
  "updatedAt": "2026-10-21T14:02:31Z"
}

Ver las líneas de una factura

GEThttps://api.drometra.com/v1/customer-finance/invoice-intents/{id}/lines

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • array de objectsiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X GET "https://api.drometra.com/v1/customer-finance/invoice-intents/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/lines" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Accept: application/json"
respuesta · 200
{
  "items": [
    {
      "position": 50.5,
      "conceptKey": "…",
      "description": "…",
      "quantity": "…",
      "unitPriceMinor": "…",
      "lineTotalMinor": "…",
      "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "creditedPosition": 0
    }
  ]
}

Revisar una factura

POSThttps://api.drometra.com/v1/customer-finance/invoice-intents/{id}/review

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Cuerpo

versionobligatoriointeger

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • connectionIdstring · uuidsiempre
  • documentKindenum: receipt | invoice | credit_notesiempre
  • customerIdstring · uuid o nullsiempre
  • creditedInvoiceIdstring · uuid o nullsiempre
  • correlationIdstring · uuidsiempre
  • currencystringsiempre
  • minorUnitScaleintegersiempre
  • totalMinorstringsiempre
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …siempre
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedsiempre
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedsiempre
  • externalDocumentIdstring o nullsiempre
  • providerVersionstring o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre
  • updatedAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/customer-finance/invoice-intents/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/review" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 0
  }'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "documentKind": "receipt",
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "currency": "…",
  "minorUnitScale": 0,
  "totalMinor": "…",
  "localState": "draft",
  "providerState": "not_sent",
  "taxState": "not_submitted",
  "externalDocumentId": "…",
  "providerVersion": "…",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z",
  "updatedAt": "2026-10-21T14:02:31Z"
}

Aprobar una factura

POSThttps://api.drometra.com/v1/customer-finance/invoice-intents/{id}/approve

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Cuerpo

versionobligatoriointeger

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • connectionIdstring · uuidsiempre
  • documentKindenum: receipt | invoice | credit_notesiempre
  • customerIdstring · uuid o nullsiempre
  • creditedInvoiceIdstring · uuid o nullsiempre
  • correlationIdstring · uuidsiempre
  • currencystringsiempre
  • minorUnitScaleintegersiempre
  • totalMinorstringsiempre
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …siempre
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedsiempre
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedsiempre
  • externalDocumentIdstring o nullsiempre
  • providerVersionstring o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre
  • updatedAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/customer-finance/invoice-intents/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/approve" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 0
  }'
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "documentKind": "receipt",
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "currency": "…",
  "minorUnitScale": 0,
  "totalMinor": "…",
  "localState": "draft",
  "providerState": "not_sent",
  "taxState": "not_submitted",
  "externalDocumentId": "…",
  "providerVersion": "…",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z",
  "updatedAt": "2026-10-21T14:02:31Z"
}

Emitir una factura

POSThttps://api.drometra.com/v1/customer-finance/invoice-intents/{id}/issue

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • connectionIdstring · uuidsiempre
  • documentKindenum: receipt | invoice | credit_notesiempre
  • customerIdstring · uuid o nullsiempre
  • creditedInvoiceIdstring · uuid o nullsiempre
  • correlationIdstring · uuidsiempre
  • currencystringsiempre
  • minorUnitScaleintegersiempre
  • totalMinorstringsiempre
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …siempre
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedsiempre
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedsiempre
  • externalDocumentIdstring o nullsiempre
  • providerVersionstring o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre
  • updatedAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/customer-finance/invoice-intents/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/issue" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Accept: application/json"
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "documentKind": "receipt",
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "currency": "…",
  "minorUnitScale": 0,
  "totalMinor": "…",
  "localState": "draft",
  "providerState": "not_sent",
  "taxState": "not_submitted",
  "externalDocumentId": "…",
  "providerVersion": "…",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z",
  "updatedAt": "2026-10-21T14:02:31Z"
}

Conciliar una factura

POSThttps://api.drometra.com/v1/customer-finance/invoice-intents/{id}/reconcile

Pide el token de acceso de una persona de tu empresa.

Cabeceras

x-tenant-idobligatoriostring · uuid
El identificador de tu empresa. El servidor comprueba que sigas siendo miembro activo de ella.
idempotency-keyobligatoriostring · uuid
Un UUID nuevo por operación. Si repites la petición con la misma clave, el cambio no se aplica dos veces.

Parámetros de ruta

idobligatoriostring · uuid
ej. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Respuesta · 200

  • idstring · uuidsiempre
  • tenantIdstring · uuidsiempre
  • connectionIdstring · uuidsiempre
  • documentKindenum: receipt | invoice | credit_notesiempre
  • customerIdstring · uuid o nullsiempre
  • creditedInvoiceIdstring · uuid o nullsiempre
  • correlationIdstring · uuidsiempre
  • currencystringsiempre
  • minorUnitScaleintegersiempre
  • totalMinorstringsiempre
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …siempre
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedsiempre
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedsiempre
  • externalDocumentIdstring o nullsiempre
  • providerVersionstring o nullsiempre
  • versionintegersiempre
  • createdAtstring · date-timesiempre
  • updatedAtstring · date-timesiempre

Puede responder con error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. El cuerpo de error se explica en Conceptos.

petición
curl -X POST "https://api.drometra.com/v1/customer-finance/invoice-intents/0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d/reconcile" \
  -H "Authorization: Bearer $DROMETRA_TOKEN" \
  -H "x-tenant-id: $DROMETRA_TENANT" \
  -H "idempotency-key: $(uuidgen)" \
  -H "Accept: application/json"
respuesta · 200
{
  "id": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "tenantId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "connectionId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "documentKind": "receipt",
  "customerId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "creditedInvoiceId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "correlationId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
  "currency": "…",
  "minorUnitScale": 0,
  "totalMinor": "…",
  "localState": "draft",
  "providerState": "not_sent",
  "taxState": "not_submitted",
  "externalDocumentId": "…",
  "providerVersion": "…",
  "version": 1,
  "createdAt": "2026-10-21T14:02:31Z",
  "updatedAt": "2026-10-21T14:02:31Z"
}