Customer invoicing

Invoices to issue: review, approval, issuing and reconciliation.

Create an invoice to issue

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Body

connectionIdmandatorystring · uuid
documentKindmandatoryenum: receipt | invoice | credit_note
customerIdmandatorystring · uuid o null
creditedInvoiceIdstring · uuid
currencymandatorystring
minorUnitScalemandatoryinteger
totalMinormandatorystring
linesmandatoryarray de object

Response · 201

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • connectionIdstring · uuidalways
  • documentKindenum: receipt | invoice | credit_notealways
  • customerIdstring · uuid o nullalways
  • creditedInvoiceIdstring · uuid o nullalways
  • correlationIdstring · uuidalways
  • currencystringalways
  • minorUnitScaleintegeralways
  • totalMinorstringalways
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …always
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedalways
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedalways
  • externalDocumentIdstring o nullalways
  • providerVersionstring o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways
  • updatedAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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": []
  }'
response · 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"
}

List invoices to issue

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Reference parameters

afterstring · uuid
limitinteger

Response · 200

  • array de objectalways
  • nextCursorstring · uuid o nullalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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"
response · 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"
}

Get an invoice to issue

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • connectionIdstring · uuidalways
  • documentKindenum: receipt | invoice | credit_notealways
  • customerIdstring · uuid o nullalways
  • creditedInvoiceIdstring · uuid o nullalways
  • correlationIdstring · uuidalways
  • currencystringalways
  • minorUnitScaleintegeralways
  • totalMinorstringalways
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …always
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedalways
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedalways
  • externalDocumentIdstring o nullalways
  • providerVersionstring o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways
  • updatedAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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"
response · 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"
}

Get an invoice's lines

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • array de objectalways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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"
response · 200
{
  "items": [
    {
      "position": 50.5,
      "conceptKey": "…",
      "description": "…",
      "quantity": "…",
      "unitPriceMinor": "…",
      "lineTotalMinor": "…",
      "catalogItemId": "0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d",
      "creditedPosition": 0
    }
  ]
}

Review an invoice

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Body

versionmandatoryinteger

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • connectionIdstring · uuidalways
  • documentKindenum: receipt | invoice | credit_notealways
  • customerIdstring · uuid o nullalways
  • creditedInvoiceIdstring · uuid o nullalways
  • correlationIdstring · uuidalways
  • currencystringalways
  • minorUnitScaleintegeralways
  • totalMinorstringalways
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …always
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedalways
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedalways
  • externalDocumentIdstring o nullalways
  • providerVersionstring o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways
  • updatedAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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
  }'
response · 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"
}

Approve an invoice

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Body

versionmandatoryinteger

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • connectionIdstring · uuidalways
  • documentKindenum: receipt | invoice | credit_notealways
  • customerIdstring · uuid o nullalways
  • creditedInvoiceIdstring · uuid o nullalways
  • correlationIdstring · uuidalways
  • currencystringalways
  • minorUnitScaleintegeralways
  • totalMinorstringalways
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …always
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedalways
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedalways
  • externalDocumentIdstring o nullalways
  • providerVersionstring o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways
  • updatedAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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
  }'
response · 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"
}

Issue an invoice

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • connectionIdstring · uuidalways
  • documentKindenum: receipt | invoice | credit_notealways
  • customerIdstring · uuid o nullalways
  • creditedInvoiceIdstring · uuid o nullalways
  • correlationIdstring · uuidalways
  • currencystringalways
  • minorUnitScaleintegeralways
  • totalMinorstringalways
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …always
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedalways
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedalways
  • externalDocumentIdstring o nullalways
  • providerVersionstring o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways
  • updatedAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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"
response · 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"
}

Reconcile an invoice

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

Requires the access token of a person in your company.

Headers

x-tenant-idmandatorystring · uuid
Your company's identifier. The server checks that you are still an active member of it.
idempotency-keymandatorystring · uuid
A new UUID per operation. If you repeat the request with the same key, the change is not applied twice.

Road parameters

idmandatorystring · uuid
e. g. 0b6f8c2e-4a1d-4e5b-9c3f-2d7e8a9b1c4d

Response · 200

  • idstring · uuidalways
  • tenantIdstring · uuidalways
  • connectionIdstring · uuidalways
  • documentKindenum: receipt | invoice | credit_notealways
  • customerIdstring · uuid o nullalways
  • creditedInvoiceIdstring · uuid o nullalways
  • correlationIdstring · uuidalways
  • currencystringalways
  • minorUnitScaleintegeralways
  • totalMinorstringalways
  • localStateenum: draft | reviewed | approved | submitting | unknown | provider_recorded | …always
  • providerStateenum: not_sent | unknown | received | processing | accepted | rejectedalways
  • taxStateenum: not_submitted | unknown | pending | authorized | rejectedalways
  • externalDocumentIdstring o nullalways
  • providerVersionstring o nullalways
  • versionintegeralways
  • createdAtstring · date-timealways
  • updatedAtstring · date-timealways

It can respond with error 400, 401, 403, 404, 409, 410, 413, 415, 422, 429, 503. The error body is explained in Concepts.

request
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"
response · 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"
}