Invoices

Get an invoice

Returns the detail of an invoice by its identifier.

Tool
filmo_invoices_get
Access: Read

Result

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_invoices_get",
    "arguments": {
      "invoiceId": "invo_8f2a1c"
    }
  }
}

generated from the schema

Arguments

invoiceIdstringRequired

Invoice identifier.

Limits: min length 1

Result

On success the result carries structuredContent with data and meta. These are the attributes of data.

Show the attributes of data
idstring

Unique invoice identifier.

invoiceNumberstring | null

Invoice number; null while it is a draft (the number is assigned on validation).

statusstring

Document lifecycle status: draft, validated (validated and numbered) or voided.

Available options: draft, validated, voided

isRectificationboolean

Whether the invoice rectifies a previous one. Invoices created in Filmo are never rectifications, and credit notes are served by /api/v1/credit-notes; but /api/v1/invoices 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.

invoiceDatestring<date-time> | null

Issue date in ISO 8601 with offset; null while it is a draft.

dueDatestring<date-time> | null

Due date in ISO 8601 with offset; null if not set.

currencystring

Invoice currency as an ISO 4217 code (for example "EUR").

contactobject | null

Compact reference to the invoiced contact; null if none.

Show child attributes
contact.idstring

Unique contact identifier.

contact.namestring

Contact name.

orderIdstring | null

Identifier of the source order; null if the invoice does not come from an order.

orderNumberstring | null

Number of the source order; null if the invoice does not come from an order.

projectIdstring | null

Identifier of the linked project; null if not linked.

subTotalstring

Subtotal before discounts and taxes, as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

discountTotalstring

Total discounts as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

taxesPricestring

Tax total as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

netPricestring

Taxable base (net before taxes) as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

grossPricestring

Total including taxes, as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

totalPaidstring | null

Amount collected to date as a decimal string "1234.50" (ROUND_HALF_UP); null if not recorded.

Limits: pattern ^-?\d+\.\d{2}$

paymentStatusstring

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

paymentMethodstring | null

Payment method of the invoice; null if not recorded.

tagsobject[]

Tags attached to the invoice, with their identifier and name.

Show child attributes
tags.idstring

Unique identifier of the tag.

tags.namestring

Tag name.

createdAtstring<date-time>

Creation date in ISO 8601 with offset.

updatedAtstring<date-time>

Last update date in ISO 8601 with offset.

projectNamestring | null

Name of the linked project; null if not linked.

taxBreakdownobject[] | null

Tax breakdown by type; null if not calculated.

Show child attributes
taxBreakdown.taxTypestring

Tax type key (for example "IVA_21").

taxBreakdown.labelstring

Human-readable tax label.

taxBreakdown.ratenumber

Tax rate applied, as a percentage (for example 21 for 21%).

taxBreakdown.baseAmountstring

Taxable base the tax is applied to, as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

taxBreakdown.amountstring

Tax amount as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

productDiscountTotalstring

Total discounts applied at product level, as a decimal string "1234.50" (ROUND_HALF_UP). productDiscountTotal + globalDiscountTotal = discountTotal.

Limits: pattern ^-?\d+\.\d{2}$

globalDiscountTotalstring

Global discount total of the document, as a decimal string "1234.50" (ROUND_HALF_UP). productDiscountTotal + globalDiscountTotal = discountTotal.

Limits: pattern ^-?\d+\.\d{2}$

insuranceTotalstring

Insurance total as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

depositTotalstring

Deposit total as a decimal string "1234.50" (ROUND_HALF_UP).

Limits: pattern ^-?\d+\.\d{2}$

exchangeRatenumber | null

Exchange rate applied when the currency differs from the base currency; null if not applicable.

billingAddressobject | null

Billing address; null if not recorded.

Show child attributes
billingAddress.labelstring | null

Descriptive label of the address; null if not recorded.

billingAddress.addressLine1string | null

First address line; null if not recorded.

billingAddress.addressLine2string | null

Second address line; null if not recorded.

billingAddress.citystring | null

City; null if not recorded.

billingAddress.provincestring | null

Province or region; null if not recorded.

billingAddress.postcodestring | null

Postal code; null if not recorded.

billingAddress.countrystring | null

Country; null if not recorded.

sourceQuoteIdsstring[] | null

Identifiers of the source quotes; null if the invoice does not come from quotes.

sourceProformaIdsstring[] | null

Identifiers of the source proformas; null if the invoice does not come from proformas.

An error is a result with isError: true and the problem in content[0].text; there is no structuredContent. See Errors.

Sample prompts

Show invoice 2026-0031 with its lines and payments.

The same operation by REST

This tool runs GET /api/v1/invoices/{invoiceId}.

  • Invoices

    Get an invoice

    Returns the detail of an invoice by its identifier.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

  • Guides

    Errors

    A tool error is a result with isError: true and the problem in the first text block. Branch on its code.