Invoices
Get an invoice
Returns the detail of an invoice by its identifier.
Request examples
curl https://app.filmo.io/api/v1/invoices/invo_8f2a1c \
--header "Authorization: Bearer $FILMO_API_KEY"Generated from the schema
Authorizations
Bearer API key with the scope below. invoices:read
Headers
Conditional read: the ETag of the copy you already have. If the resource has not changed, the response is 304 with no body.
Example:"\"3sT3d9pBvZq4h2N0w8x1YkLmQ7c\""
Path parameters
Invoice identifier.
Limits: min length 1
Response
Successful response.
Response schema: InvoiceDetailDto
Envelope: InvoiceDetailResponse. meta. is present only when the operation is deprecated.
Headers: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · ETag
The invoice in full, as returned by the API.
Show child attributesHide child attributes
Unique invoice identifier.
Invoice number; null while it is a draft (the number is assigned on validation).
Document lifecycle status: draft, validated (validated and numbered) or voided.
Available options: draft, validated, voided
Whether the invoice rectifies a previous one. Invoices created in Filmo are never rectifications, and credit notes are served by /api; but /api can still return imported rectifying documents (for example from a Rentman import) with this set to true, so deduplicate them against the credit notes by number.
Issue date in ISO 8601 with offset; null while it is a draft.
Due date in ISO 8601 with offset; null if not set.
Invoice currency as an ISO 4217 code (for example "EUR").
Compact reference to the invoiced contact; null if none.
Show child attributesHide child attributes
Unique contact identifier.
Contact name.
Identifier of the source order; null if the invoice does not come from an order.
Number of the source order; null if the invoice does not come from an order.
Identifier of the linked project; null if not linked.
Subtotal before discounts and taxes, as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Total discounts as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Tax total as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Taxable base (net before taxes) as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Total including taxes, as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Amount collected to date as a decimal string "1234.50" (ROUND_HALF_UP); null if not recorded.
Limits: pattern ^-?\d+\.\d{2}$
Payment status: unpaid (nothing collected yet, also for invoices without a recorded collection), partially_paid, paid, overpaid (collected above the total), overdue (past due and unpaid) or voided (the document is voided, whatever was collected before). The paymentStatus filter uses the same values.
Available options: unpaid, partially_paid, paid, overpaid, overdue, voided
Payment method of the invoice; null if not recorded.
Creation date in ISO 8601 with offset.
Last update date in ISO 8601 with offset.
Name of the linked project; null if not linked.
Tax breakdown by type; null if not calculated.
Show child attributesHide child attributes
Tax type key (for example "IVA_21").
Human-readable tax label.
Tax rate applied, as a percentage (for example 21 for 21%).
Taxable base the tax is applied to, as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Tax amount as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Total discounts applied at product level, as a decimal string "1234.50" (ROUND_HALF_UP). productDiscountTotal + globalDiscountTotal = discountTotal.
Limits: pattern ^-?\d+\.\d{2}$
Global discount total of the document, as a decimal string "1234.50" (ROUND_HALF_UP). productDiscountTotal + globalDiscountTotal = discountTotal.
Limits: pattern ^-?\d+\.\d{2}$
Insurance total as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Deposit total as a decimal string "1234.50" (ROUND_HALF_UP).
Limits: pattern ^-?\d+\.\d{2}$
Exchange rate applied when the currency differs from the base currency; null if not applicable.
Billing address; null if not recorded.
Show child attributesHide child attributes
Descriptive label of the address; null if not recorded.
First address line; null if not recorded.
Second address line; null if not recorded.
City; null if not recorded.
Province or region; null if not recorded.
Postal code; null if not recorded.
Country; null if not recorded.
Identifiers of the source quotes; null if the invoice does not come from quotes.
Identifiers of the source proformas; null if the invoice does not come from proformas.
Additional information about the response.
Show child attributesHide child attributes
Lifecycle warnings; present only when the operation is deprecated.
Show child attributesHide child attributes
Stable warning code.
Available options: deprecated
For people: what is deprecated, until when, and what to use.
Day (YYYY-MM-DD) the operation stops being served.
operationId of the operation to use instead, or null if there is none.
Where the deprecation is documented (the changelog).
Not modified: the If-None-Match sent matches the current ETag. No body; the copy you have is current.
Headers: ETag
No body.
Authentication failed (unauthorized, api_key_invalid, api_key_revoked, api_key_expired, api_key_owner_inactive, api_key_owner_not_admin).
Headers: X-Request-Id · Content-Language
Not allowed (insufficient_scope: the API key does not have the required scope, named in requiredScope; forbidden: the owner of the key lacks the permission the operation requires). insufficient_scope is answered before the request counts against the rate limit, so it carries no RateLimit-* headers; forbidden does.
Headers: X-Request-Id · Content-Language
Resource not found (not_found): it does not exist or is outside the scope of the API key.
Headers: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Rate limit exceeded (rate_limited): retry after Retry-After seconds; RateLimit-* says which quota ran out.
Headers: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · Retry-After
Internal error (internal_error).
Headers: X-Request-Id · Content-Language · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset
Errors
Deprecation
This operation is not deprecated. Deprecations are announced with a Deprecation header and a sunset date. Versioning policy
Related
Related pages
Link to this section: Related pagesFinance
Invoice
The invoice, as returned by the API.
Was this page helpful?