Invoice Ninja

App · Accounting & Finance · 20 actions

Manage your Invoice Ninja billing: clients, invoices, quotes, payments, products and expenses.

Actions

ActionWhat it does
Act on invoicesMark invoices sent or paid, email them, cancel, clone, archive, restore or delete them.
Act on quotesApprove quotes, convert them into invoices, email them, mark them sent, restore or delete them.
Archive, restore or delete clientsArchive, restore or delete one or more Invoice Ninja clients.
Create a clientAdd a client to your Invoice Ninja company.
Create a productAdd a product or service to your Invoice Ninja catalogue.
Create a quoteRaise a quote for a client.
Create an invoiceRaise an invoice for a client.
Get a clientRead one Invoice Ninja client by its ID.
Get an invoiceRead one Invoice Ninja invoice by its ID.
List clientsFind clients in your Invoice Ninja company.
List expensesFind expenses in your Invoice Ninja company.
List invoicesFind invoices in your Invoice Ninja company.
List paymentsFind payments in your Invoice Ninja company.
List productsFind products in your Invoice Ninja company.
List quotesFind quotes in your Invoice Ninja company.
Record a paymentRecord money received from a client, optionally applying it to that client's invoices.
Record an expenseBook an expense in your Invoice Ninja company.
Refund a paymentRefund a recorded payment, in full or in part.
Update a clientChange details on an existing Invoice Ninja client.
Update an invoiceChange an existing Invoice Ninja invoice.

Act on invoices

Mark invoices sent or paid, email them, cancel, clone, archive, restore or delete them.

Inputs

What to dobulk_actiontextRequired
'Mark sent' turns a draft into a real invoice. 'Send email' emails it to the client's contacts.One of: mark_sent (Mark sent), mark_paid (Mark paid), send_email (Email to the client), cancel, clone_to_invoice (Copy to a new invoice), clone_to_quote (Copy to a new quote), archive, restore, delete.
Invoice IDsinvoice_idslistRequired
The Invoice Ninja IDs of the invoices to act on, such as 'Opnel5aKBz'.
Email templateemail_typetext
Which email to send. Only used when the action is 'Email to the client'; leave blank for the standard invoice email.One of: invoice, quote, credit, payment, payment_partial (Payment partial), statement, reminder1, reminder2, reminder3, reminder_endless (Reminder endless), and 5 more.

Outputs

actiontext
The action that was applied.
countnumber
How many invoices Invoice Ninja reported back.
idslist
The IDs the action was applied to.
recordslist
The invoices as they stand after the action.
Example output
{
  "action": "mark_sent",
  "count": 1,
  "ids": [
    "Opnel5aKBz"
  ],
  "records": [
    {
      "amount": 1200.0,
      "balance": 1200.0,
      "client_id": "Wpmbk5ezJn",
      "created_at": 1757462400,
      "date": "2026-09-01",
      "due_date": "2026-09-30",
      "id": "Opnel5aKBz",
      "is_deleted": false,
      "line_items": [
        {
          "cost": 150.0,
          "line_total": 1200.0,
          "notes": "Consulting, September",
          "product_key": "CONSULT",
          "quantity": 8.0
        }
      ],
      "number": "0012",
      "paid_to_date": 0.0,
      "status_id": "2"
    }
  ]
}

Act on quotes

Approve quotes, convert them into invoices, email them, mark them sent, restore or delete them.

Inputs

What to dobulk_actiontextRequired
'Convert to invoice' raises an invoice from the quote and links the two.One of: approve, convert (Convert to an invoice), send_email (Email to the client), mark_sent (Mark sent), restore, delete.
Quote IDsquote_idslistRequired
The Invoice Ninja IDs of the quotes to act on, such as 'Opnel5aKBz'.

Outputs

actiontext
The action that was applied.
countnumber
How many quotes Invoice Ninja reported back.
idslist
The IDs the action was applied to.
recordslist
The quotes as they stand after the action.
Example output
{
  "action": "mark_sent",
  "count": 1,
  "ids": [
    "Wpmbk5ezJn"
  ],
  "records": [
    {
      "amount": 900.0,
      "client_id": "Opnel5aKBz",
      "created_at": 1757462400,
      "date": "2026-09-01",
      "due_date": "2026-09-15",
      "id": "Wpmbk5ezJn",
      "invoice_id": "",
      "is_deleted": false,
      "line_items": [
        {
          "cost": 150.0,
          "line_total": 900.0,
          "notes": "Discovery workshop",
          "product_key": "CONSULT",
          "quantity": 6.0
        }
      ],
      "number": "Q0004",
      "status_id": "2"
    }
  ]
}

Archive, restore or delete clients

Archive, restore or delete one or more Invoice Ninja clients.

Inputs

What to dobulk_actiontextRequired
Archiving hides a client without losing anything; deleting removes it from the lists but keeps its history, and can be undone with 'restore'.One of: archive, restore, delete.
Client IDsclient_idslistRequired
The Invoice Ninja IDs of the clients to act on, such as 'Opnel5aKBz'. Pick one or more, or pass a list from an earlier step.

Outputs

actiontext
The action that was applied.
countnumber
How many clients Invoice Ninja reported back.
idslist
The IDs the action was applied to.
recordslist
The clients as they stand after the action.
Example output
{
  "action": "archive",
  "count": 1,
  "ids": [
    "Opnel5aKBz"
  ],
  "records": [
    {
      "balance": 1200.0,
      "classification": "business",
      "contacts": [
        {
          "email": "michael@example.com",
          "first_name": "Michael",
          "id": "Wpmbk5ezJn",
          "is_primary": true,
          "last_name": "Bluth"
        }
      ],
      "country_id": "840",
      "created_at": 1757462400,
      "display_name": "Bluth Company",
      "id": "Opnel5aKBz",
      "is_deleted": false,
      "name": "Bluth Company",
      "number": "0001",
      "paid_to_date": 3400.0
    }
  ]
}

Create a client

Add a client to your Invoice Ninja company.

Inputs

Client namenametextRequired
The company or person you invoice.
Contactscontactslist
The people at this client. The first one becomes the primary contact and is who invoices are emailed to.
Websitewebsitetext
The client's website address.
Phonephonetext
The client's main phone number.
Address line 1address1text
First line of the billing address.
Address line 2address2text
Second line of the billing address.
Citycitytext
Billing address city.
State or regionstatetext
Billing address state, province or region.
Postal codepostal_codetext
Billing address postal or ZIP code.
Countrycountry_idtext
The client's country.
Industryindustry_idtext
The industry the client works in.
Company sizesize_idtext
Roughly how many people the client employs.
Client typeclassificationtext
What kind of entity the client is.One of: individual, business, company, partnership, trust, charity, government, other.
VAT numbervat_numbertext
The client's VAT or tax registration number.
Your referenceid_numbertext
Your own reference number for this client.
Public notespublic_notestext
Notes the client can see.
Private notesprivate_notestext
Notes only your own team can see.

Outputs

An Invoice Ninja client (customer).

address1text
First address line.
address2text
Second address line.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the client is assigned to.
balancenumber
Amount currently owed by this client.
citytext
City.
classificationtext
What kind of entity the client is, such as 'business' or 'individual'.
client_hashtext
The key in the client's portal link.
contactslist
The client's contacts.
country_idtext
ISO numeric country code as text, such as '840' for the United States.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
credit_balancenumber
Outstanding credit note balance.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
display_nametext
The name Invoice Ninja shows, which falls back to the first contact when the client has no name.
documentslist
Files attached to this record.
e_invoiceobject
E-invoicing settings.
gateway_tokenslist
Stored payment methods.
group_settings_idtext
ID of the client group this client belongs to.
has_valid_vat_numbertrue/false
Whether Invoice Ninja could validate the VAT number.
idtext
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Use this wherever a step asks for a client.
id_numbertext
Your own reference number for the client.
industry_idtext
Invoice Ninja industry ID, as text.
is_deletedtrue/false
True once the record has been deleted.
is_tax_exempttrue/false
Whether the client is exempt from tax.
last_loginnumber
Client-portal last login, as a Unix timestamp in seconds.
locationslist
Additional addresses recorded for the client.
nametext
Company or person name.
numbertext
The client number, unique within the company.
paid_to_datenumber
Total the client has paid so far.
payment_balancenumber
Unapplied payment credit held for this client.
phonetext
Phone number.
postal_codetext
Postal or ZIP code.
private_notestext
Notes only your team can see.
public_notestext
Notes the client can see.
routing_idtext
Bank routing identifier.
settingsobject
Per-client overrides such as currency, language and payment terms.
shipping_address1text
First shipping address line.
shipping_address2text
Second shipping address line.
shipping_citytext
Shipping city.
shipping_country_idtext
ISO numeric country code of the shipping address, as text.
shipping_postal_codetext
Shipping postal or ZIP code.
shipping_statetext
Shipping state, province or region.
size_idtext
Invoice Ninja company-size ID, as text.
statetext
State, province or region.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the client.
vat_numbertext
VAT or tax number.
websitetext
Website address.
Example output
{
  "balance": 1200.0,
  "classification": "business",
  "contacts": [
    {
      "email": "michael@example.com",
      "first_name": "Michael",
      "id": "Wpmbk5ezJn",
      "is_primary": true,
      "last_name": "Bluth"
    }
  ],
  "country_id": "840",
  "created_at": 1757462400,
  "display_name": "Bluth Company",
  "id": "Opnel5aKBz",
  "is_deleted": false,
  "name": "Bluth Company",
  "number": "0001",
  "paid_to_date": 3400.0
}

Create a product

Add a product or service to your Invoice Ninja catalogue.

Inputs

Product codeproduct_keytextRequired
The short code or name that appears on an invoice line, such as 'CONSULT'.
Descriptionnotestext
The description printed on the invoice line.
Pricepricenumber
What you charge for it.At least 0.
Costcostnumber
What it costs you.At least 0.
Default quantityquantitynumber
The quantity put on an invoice line by default.At least 0.
Tax categorytax_idtext
Which tax category this product falls into.One of: 1 (Physical goods), 2 (Service), 3 (Digital product), 4 (Shipping), 5 (Tax exempt), 6 (Reduced tax), 7 (Override tax), 8 (Zero rated), 9 (Reverse tax).
Tax nametax_name1text
Name of the tax on this product, such as 'VAT'.
Tax ratetax_rate1number
Percentage rate of that tax, such as 20.From 0 to 100.
Maximum quantitymax_quantitynumber
The largest quantity a client may order.At least 0.

Outputs

An Invoice Ninja product.

archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the product is assigned to.
costnumber
What the product costs you.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
documentslist
Files attached to this record.
idtext
The product's Invoice Ninja ID, such as 'Opnel5aKBz'.
in_stock_quantitynumber
Units currently in stock.
income_account_idtext
Accounting income account the product maps to.
is_deletedtrue/false
True once the record has been deleted.
max_quantitynumber
Largest quantity that may be ordered.
notestext
Product description.
pricenumber
What you charge for it.
product_imagetext
Web address of the product image.
product_keytext
The product code or short name.
quantitynumber
Default quantity put on an invoice line.
stock_notificationtrue/false
Whether Invoice Ninja warns when stock runs low.
stock_notification_thresholdnumber
Stock level that triggers the warning.
tagslist
Tags attached to this record.
tax_idtext
Tax category as text: '1' physical, '2' service, '3' digital, '4' shipping, '5' exempt, '6' reduced tax, '7' override tax, '8' zero rated, '9' reverse tax.
tax_name1text
Name of tax 1, for example 'VAT'.
tax_name2text
Name of tax 2, for example 'VAT'.
tax_name3text
Name of tax 3, for example 'VAT'.
tax_rate1number
Percentage rate of tax 1.
tax_rate2number
Percentage rate of tax 2.
tax_rate3number
Percentage rate of tax 3.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the product.
Example output
{
  "cost": 90.0,
  "created_at": 1757462400,
  "id": "Wpmbk5ezJn",
  "is_deleted": false,
  "notes": "Consulting, per hour",
  "price": 150.0,
  "product_key": "CONSULT",
  "quantity": 1.0,
  "tax_id": "2"
}

Create a quote

Raise a quote for a client.

Inputs

Client IDclient_idtextRequired
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Open the client in Invoice Ninja and copy the last part of the web address, or use 'List clients' to find one. This is not the client number shown on the record.
Quote datedatedateRequired
The date on the quote.
Valid untildue_datedateRequired
The last day the quote is good for.
Line itemsline_itemslist
The lines on the quote. Each needs at least a description ('notes'), a quantity and a unit price ('cost').
Public notespublic_notestext
Notes the client can see.
Private notesprivate_notestext
Notes only your own team can see.

Outputs

An Invoice Ninja quote.

amountnumber
Total amount of the document.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the document is assigned to.
balancenumber
Amount still outstanding.
client_idtext
ID of the client this document belongs to.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
custom_surcharge1text
Custom field 1 on this record.
custom_surcharge2text
Custom field 2 on this record.
custom_surcharge3text
Custom field 3 on this record.
custom_surcharge4text
Custom field 4 on this record.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Document date, as 'YYYY-MM-DD'.
design_idtext
ID of the PDF design template used.
discountnumber
Discount applied to the whole document.
documentslist
Files attached to this record.
due_datetext
Due date, as 'YYYY-MM-DD'. On a quote this is the valid-until date.
e_invoiceobject
E-invoicing details.
entity_typetext
Which kind of document this is, such as 'invoice' or 'quote'.
exchange_ratenumber
Rate used to convert the client's currency to the company's.
footertext
Footer shown on the document.
has_expensestrue/false
Whether expenses are billed on this document.
has_taskstrue/false
Whether tasks are billed on this document.
idtext
The record's Invoice Ninja ID, such as 'Opnel5aKBz'.
invitationslist
One entry per contact the document is shared with, each carrying the portal link.
invoice_idtext
ID of the invoice this quote was converted into, once it has been.
is_amount_discounttrue/false
True when the document discount is an amount rather than a percentage.
is_deletedtrue/false
True once the record has been deleted.
last_sent_datetext
When the document was last emailed, as 'YYYY-MM-DD'.
line_itemslist
The document's lines.
location_idtext
ID of the location the document is billed from.
next_send_datetext
When the next reminder is scheduled, as 'YYYY-MM-DD'.
numbertext
The document number, unique within the company.
paid_to_datenumber
Amount paid against this document so far.
partialnumber
Deposit amount requested before the full balance.
partial_due_datetext
Due date of the deposit, as 'YYYY-MM-DD'.
po_numbertext
Purchase order number.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project, when there is one.
public_notestext
Notes the client can see.
status_idtext
Status as text. For invoices: '1' draft, '2' sent, '3' partial, '4' paid, '5' cancelled, '6' reversed.
subscription_idtext
ID of the subscription that produced the document.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
tax_name1text
Name of tax 1, for example 'VAT'.
tax_name2text
Name of tax 2, for example 'VAT'.
tax_name3text
Name of tax 3, for example 'VAT'.
tax_rate1number
Percentage rate of tax 1.
tax_rate2number
Percentage rate of tax 2.
tax_rate3number
Percentage rate of tax 3.
termstext
Terms shown on the document.
total_taxesnumber
Total tax charged.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the document.
uses_inclusive_taxestrue/false
True when the line prices already include tax.
vendor_idtext
ID of the linked vendor, when there is one.
Example output
{
  "amount": 900.0,
  "client_id": "Opnel5aKBz",
  "created_at": 1757462400,
  "date": "2026-09-01",
  "due_date": "2026-09-15",
  "id": "Wpmbk5ezJn",
  "invoice_id": "",
  "is_deleted": false,
  "line_items": [
    {
      "cost": 150.0,
      "line_total": 900.0,
      "notes": "Discovery workshop",
      "product_key": "CONSULT",
      "quantity": 6.0
    }
  ],
  "number": "Q0004",
  "status_id": "2"
}

Create an invoice

Raise an invoice for a client. It is created as a draft; use 'Act on invoices' to mark it sent or email it.

Inputs

Client IDclient_idtextRequired
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Open the client in Invoice Ninja and copy the last part of the web address, or use 'List clients' to find one. This is not the client number shown on the record.
Line itemsline_itemslist
The lines on the invoice. Each needs at least a description ('notes'), a quantity and a unit price ('cost').
Invoice numbernumbertext
A number for the invoice. Leave blank to let Invoice Ninja allocate the next one; numbers must be unique.
PO numberpo_numbertext
The client's purchase order number.
Invoice datedatedate
The date on the invoice. Leave blank for today.
Due datedue_datedate
When payment is due. Leave blank to use the client's payment terms.
Discountdiscountnumber
A discount off the whole invoice.At least 0.
Discount is an amountis_amount_discounttrue/false
Turn on to treat the discount as a cash amount. Leave off to treat it as a percentage.
Termstermstext
Terms printed on the invoice.
Footerfootertext
Footer printed on the invoice.
Public notespublic_notestext
Notes the client can see.
Private notesprivate_notestext
Notes only your own team can see.

Outputs

An Invoice Ninja invoice.

amountnumber
Total amount of the document.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the document is assigned to.
auto_bill_enabledtrue/false
Whether the client's stored payment method is charged automatically.
balancenumber
Amount still outstanding.
client_idtext
ID of the client this document belongs to.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
custom_surcharge1text
Custom field 1 on this record.
custom_surcharge2text
Custom field 2 on this record.
custom_surcharge3text
Custom field 3 on this record.
custom_surcharge4text
Custom field 4 on this record.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Document date, as 'YYYY-MM-DD'.
design_idtext
ID of the PDF design template used.
discountnumber
Discount applied to the whole document.
documentslist
Files attached to this record.
due_datetext
Due date, as 'YYYY-MM-DD'. On a quote this is the valid-until date.
e_invoiceobject
E-invoicing details.
entity_typetext
Which kind of document this is, such as 'invoice' or 'quote'.
exchange_ratenumber
Rate used to convert the client's currency to the company's.
footertext
Footer shown on the document.
has_expensestrue/false
Whether expenses are billed on this document.
has_taskstrue/false
Whether tasks are billed on this document.
idtext
The record's Invoice Ninja ID, such as 'Opnel5aKBz'.
invitationslist
One entry per contact the document is shared with, each carrying the portal link.
is_amount_discounttrue/false
True when the document discount is an amount rather than a percentage.
is_deletedtrue/false
True once the record has been deleted.
last_sent_datetext
When the document was last emailed, as 'YYYY-MM-DD'.
line_itemslist
The document's lines.
location_idtext
ID of the location the document is billed from.
next_send_datetext
When the next reminder is scheduled, as 'YYYY-MM-DD'.
numbertext
The document number, unique within the company.
paid_to_datenumber
Amount paid against this document so far.
partialnumber
Deposit amount requested before the full balance.
partial_due_datetext
Due date of the deposit, as 'YYYY-MM-DD'.
po_numbertext
Purchase order number.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project, when there is one.
public_notestext
Notes the client can see.
recurring_idtext
ID of the recurring invoice that generated this one.
reminder_last_senttext
When the last reminder went out, as 'YYYY-MM-DD'.
status_idtext
Status as text. For invoices: '1' draft, '2' sent, '3' partial, '4' paid, '5' cancelled, '6' reversed.
subscription_idtext
ID of the subscription that produced the document.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
tax_name1text
Name of tax 1, for example 'VAT'.
tax_name2text
Name of tax 2, for example 'VAT'.
tax_name3text
Name of tax 3, for example 'VAT'.
tax_rate1number
Percentage rate of tax 1.
tax_rate2number
Percentage rate of tax 2.
tax_rate3number
Percentage rate of tax 3.
termstext
Terms shown on the document.
total_taxesnumber
Total tax charged.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the document.
uses_inclusive_taxestrue/false
True when the line prices already include tax.
vendor_idtext
ID of the linked vendor, when there is one.
Example output
{
  "amount": 1200.0,
  "balance": 1200.0,
  "client_id": "Wpmbk5ezJn",
  "created_at": 1757462400,
  "date": "2026-09-01",
  "due_date": "2026-09-30",
  "id": "Opnel5aKBz",
  "is_deleted": false,
  "line_items": [
    {
      "cost": 150.0,
      "line_total": 1200.0,
      "notes": "Consulting, September",
      "product_key": "CONSULT",
      "quantity": 8.0
    }
  ],
  "number": "0012",
  "paid_to_date": 0.0,
  "status_id": "2"
}

Get a client

Read one Invoice Ninja client by its ID.

Inputs

Client IDclient_idtextRequired
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Open the client in Invoice Ninja and copy the last part of the web address, or use 'List clients' to find one. This is not the client number shown on the record.
Also fetchincludetext
Extra details to pull into the client record.One or more of: contacts, documents, gateway_tokens (Gateway tokens), activities, ledger, system_logs (System logs), group_settings (Group settings).

Outputs

An Invoice Ninja client (customer).

address1text
First address line.
address2text
Second address line.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the client is assigned to.
balancenumber
Amount currently owed by this client.
citytext
City.
classificationtext
What kind of entity the client is, such as 'business' or 'individual'.
client_hashtext
The key in the client's portal link.
contactslist
The client's contacts.
country_idtext
ISO numeric country code as text, such as '840' for the United States.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
credit_balancenumber
Outstanding credit note balance.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
display_nametext
The name Invoice Ninja shows, which falls back to the first contact when the client has no name.
documentslist
Files attached to this record.
e_invoiceobject
E-invoicing settings.
gateway_tokenslist
Stored payment methods.
group_settings_idtext
ID of the client group this client belongs to.
has_valid_vat_numbertrue/false
Whether Invoice Ninja could validate the VAT number.
idtext
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Use this wherever a step asks for a client.
id_numbertext
Your own reference number for the client.
industry_idtext
Invoice Ninja industry ID, as text.
is_deletedtrue/false
True once the record has been deleted.
is_tax_exempttrue/false
Whether the client is exempt from tax.
last_loginnumber
Client-portal last login, as a Unix timestamp in seconds.
locationslist
Additional addresses recorded for the client.
nametext
Company or person name.
numbertext
The client number, unique within the company.
paid_to_datenumber
Total the client has paid so far.
payment_balancenumber
Unapplied payment credit held for this client.
phonetext
Phone number.
postal_codetext
Postal or ZIP code.
private_notestext
Notes only your team can see.
public_notestext
Notes the client can see.
routing_idtext
Bank routing identifier.
settingsobject
Per-client overrides such as currency, language and payment terms.
shipping_address1text
First shipping address line.
shipping_address2text
Second shipping address line.
shipping_citytext
Shipping city.
shipping_country_idtext
ISO numeric country code of the shipping address, as text.
shipping_postal_codetext
Shipping postal or ZIP code.
shipping_statetext
Shipping state, province or region.
size_idtext
Invoice Ninja company-size ID, as text.
statetext
State, province or region.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the client.
vat_numbertext
VAT or tax number.
websitetext
Website address.
Example output
{
  "balance": 1200.0,
  "classification": "business",
  "contacts": [
    {
      "email": "michael@example.com",
      "first_name": "Michael",
      "id": "Wpmbk5ezJn",
      "is_primary": true,
      "last_name": "Bluth"
    }
  ],
  "country_id": "840",
  "created_at": 1757462400,
  "display_name": "Bluth Company",
  "id": "Opnel5aKBz",
  "is_deleted": false,
  "name": "Bluth Company",
  "number": "0001",
  "paid_to_date": 3400.0
}

Get an invoice

Read one Invoice Ninja invoice by its ID.

Inputs

Invoice IDinvoice_idtextRequired
The invoice's Invoice Ninja ID, such as 'Opnel5aKBz'. Use 'List invoices' to find one. This is not the invoice number printed on the document.

Outputs

An Invoice Ninja invoice.

amountnumber
Total amount of the document.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the document is assigned to.
auto_bill_enabledtrue/false
Whether the client's stored payment method is charged automatically.
balancenumber
Amount still outstanding.
client_idtext
ID of the client this document belongs to.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
custom_surcharge1text
Custom field 1 on this record.
custom_surcharge2text
Custom field 2 on this record.
custom_surcharge3text
Custom field 3 on this record.
custom_surcharge4text
Custom field 4 on this record.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Document date, as 'YYYY-MM-DD'.
design_idtext
ID of the PDF design template used.
discountnumber
Discount applied to the whole document.
documentslist
Files attached to this record.
due_datetext
Due date, as 'YYYY-MM-DD'. On a quote this is the valid-until date.
e_invoiceobject
E-invoicing details.
entity_typetext
Which kind of document this is, such as 'invoice' or 'quote'.
exchange_ratenumber
Rate used to convert the client's currency to the company's.
footertext
Footer shown on the document.
has_expensestrue/false
Whether expenses are billed on this document.
has_taskstrue/false
Whether tasks are billed on this document.
idtext
The record's Invoice Ninja ID, such as 'Opnel5aKBz'.
invitationslist
One entry per contact the document is shared with, each carrying the portal link.
is_amount_discounttrue/false
True when the document discount is an amount rather than a percentage.
is_deletedtrue/false
True once the record has been deleted.
last_sent_datetext
When the document was last emailed, as 'YYYY-MM-DD'.
line_itemslist
The document's lines.
location_idtext
ID of the location the document is billed from.
next_send_datetext
When the next reminder is scheduled, as 'YYYY-MM-DD'.
numbertext
The document number, unique within the company.
paid_to_datenumber
Amount paid against this document so far.
partialnumber
Deposit amount requested before the full balance.
partial_due_datetext
Due date of the deposit, as 'YYYY-MM-DD'.
po_numbertext
Purchase order number.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project, when there is one.
public_notestext
Notes the client can see.
recurring_idtext
ID of the recurring invoice that generated this one.
reminder_last_senttext
When the last reminder went out, as 'YYYY-MM-DD'.
status_idtext
Status as text. For invoices: '1' draft, '2' sent, '3' partial, '4' paid, '5' cancelled, '6' reversed.
subscription_idtext
ID of the subscription that produced the document.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
tax_name1text
Name of tax 1, for example 'VAT'.
tax_name2text
Name of tax 2, for example 'VAT'.
tax_name3text
Name of tax 3, for example 'VAT'.
tax_rate1number
Percentage rate of tax 1.
tax_rate2number
Percentage rate of tax 2.
tax_rate3number
Percentage rate of tax 3.
termstext
Terms shown on the document.
total_taxesnumber
Total tax charged.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the document.
uses_inclusive_taxestrue/false
True when the line prices already include tax.
vendor_idtext
ID of the linked vendor, when there is one.
Example output
{
  "amount": 1200.0,
  "balance": 1200.0,
  "client_id": "Wpmbk5ezJn",
  "created_at": 1757462400,
  "date": "2026-09-01",
  "due_date": "2026-09-30",
  "id": "Opnel5aKBz",
  "is_deleted": false,
  "line_items": [
    {
      "cost": 150.0,
      "line_total": 1200.0,
      "notes": "Consulting, September",
      "product_key": "CONSULT",
      "quantity": 8.0
    }
  ],
  "number": "0012",
  "paid_to_date": 0.0,
  "status_id": "2"
}

List clients

Find clients in your Invoice Ninja company.

Inputs

Client namenametext
Only return clients whose name matches this. Leave blank for all.
Contact emailemailtext
Only return clients with a contact at this email address.
Searchsearchtext
Free-text search across client name, ID number, contact names, contact email and phone.
Include records that arerecord_statustext
Which records to include. Leave blank to let Invoice Ninja decide, which normally means active ones only.One or more of: active, archived, deleted.
Also fetchincludetext
Extra details to pull into each client. Leave blank for the client record on its own.One or more of: contacts, documents, gateway_tokens (Gateway tokens), activities, ledger, system_logs (System logs), group_settings (Group settings).
Sort bysort_bytext
Which field to sort on. Leave blank for Invoice Ninja's own order.One of: name, number, balance, id_number (Id number), created_at (Created at), updated_at (Updated at).
Sort directionsort_directiontext
Which way to sort. Only used when a sort field is chosen.One of: asc (Ascending (A-Z, oldest first)), desc (Descending (Z-A, newest first)).
Results per pageper_pagenumber
How many clients to return on one page, from 1 to 100. Leave blank for Invoice Ninja's default of 20.From 1 to 100.
Pagepagenumber
Which page of results to return. Leave blank for the first page.From 1 to 10000.

Outputs

clientslist
The clients on this page.
paginationobject
Where this page sits in the full result set.
Example output
{
  "clients": [
    {
      "balance": 1200.0,
      "classification": "business",
      "contacts": [
        {
          "email": "michael@example.com",
          "first_name": "Michael",
          "id": "Wpmbk5ezJn",
          "is_primary": true,
          "last_name": "Bluth"
        }
      ],
      "country_id": "840",
      "created_at": 1757462400,
      "display_name": "Bluth Company",
      "id": "Opnel5aKBz",
      "is_deleted": false,
      "name": "Bluth Company",
      "number": "0001",
      "paid_to_date": 3400.0
    }
  ],
  "pagination": {
    "count": 1,
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  }
}

List expenses

Find expenses in your Invoice Ninja company.

Inputs

Include records that arerecord_statustext
Which records to include. Leave blank to let Invoice Ninja decide, which normally means active ones only.One or more of: active, archived, deleted.
Sort bysort_bytext
Which field to sort on. Leave blank for Invoice Ninja's own order.One of: number, date, amount, created_at (Created at), updated_at (Updated at).
Sort directionsort_directiontext
Which way to sort. Only used when a sort field is chosen.One of: asc (Ascending (A-Z, oldest first)), desc (Descending (Z-A, newest first)).
Results per pageper_pagenumber
How many expenses to return on one page, from 1 to 100. Leave blank for Invoice Ninja's default of 20.From 1 to 100.
Pagepagenumber
Which page of results to return. Leave blank for the first page.From 1 to 10000.

Outputs

expenseslist
The expenses on this page.
paginationobject
Where this page sits in the full result set.
Example output
{
  "expenses": [
    {
      "amount": 42.5,
      "created_at": 1757462400,
      "date": "2026-09-04",
      "id": "Volejrejnm",
      "is_deleted": false,
      "number": "0003",
      "public_notes": "Team lunch",
      "should_be_invoiced": false
    }
  ],
  "pagination": {
    "count": 1,
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  }
}

List invoices

Find invoices in your Invoice Ninja company.

Inputs

Client IDclient_idtext
Only return records for this client, using its Invoice Ninja ID such as 'Opnel5aKBz'. Leave blank for every client.
Invoice numbernumbertext
Only return the invoice with this number, such as '0012'.
Payment statuspayment_statustext
Narrow to invoices in this payment state.One of: all, paid, unpaid, overdue.
Invoice statusstatus_idtext
Narrow to invoices at these stages.One or more of: 1 (Draft), 2 (Sent), 3 (Partially paid), 4 (Paid), 5 (Cancelled), 6 (Reversed).
Dated on or afterdate_fromdate
Only return invoices dated on or after this day.
Dated on or beforedate_todate
Only return invoices dated on or before this day. Only used together with 'Dated on or after'.
Searchsearchtext
Free-text search across invoice number, PO number, date, amount, client name and line items.
Include records that arerecord_statustext
Which records to include. Leave blank to let Invoice Ninja decide, which normally means active ones only.One or more of: active, archived, deleted.
Sort bysort_bytext
Which field to sort on. Leave blank for Invoice Ninja's own order.One of: number, date, due_date (Due date), amount, balance, status_id (Status id), created_at (Created at), updated_at (Updated at).
Sort directionsort_directiontext
Which way to sort. Only used when a sort field is chosen.One of: asc (Ascending (A-Z, oldest first)), desc (Descending (Z-A, newest first)).
Results per pageper_pagenumber
How many invoices to return on one page, from 1 to 100. Leave blank for Invoice Ninja's default of 20.From 1 to 100.
Pagepagenumber
Which page of results to return. Leave blank for the first page.From 1 to 10000.

Outputs

invoiceslist
The invoices on this page.
paginationobject
Where this page sits in the full result set.
Example output
{
  "invoices": [
    {
      "amount": 1200.0,
      "balance": 1200.0,
      "client_id": "Wpmbk5ezJn",
      "created_at": 1757462400,
      "date": "2026-09-01",
      "due_date": "2026-09-30",
      "id": "Opnel5aKBz",
      "is_deleted": false,
      "line_items": [
        {
          "cost": 150.0,
          "line_total": 1200.0,
          "notes": "Consulting, September",
          "product_key": "CONSULT",
          "quantity": 8.0
        }
      ],
      "number": "0012",
      "paid_to_date": 0.0,
      "status_id": "2"
    }
  ],
  "pagination": {
    "count": 1,
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  }
}

List payments

Find payments in your Invoice Ninja company.

Inputs

Client IDclient_idtext
Only return records for this client, using its Invoice Ninja ID such as 'Opnel5aKBz'. Leave blank for every client.
Payment numbernumbertext
Only return the payment with this number.
Searchsearchtext
Free-text search across amount, date and custom fields.
Include records that arerecord_statustext
Which records to include. Leave blank to let Invoice Ninja decide, which normally means active ones only.One or more of: active, archived, deleted.
Include linked invoicesinclude_invoicestrue/false
Turn on to pull the full invoice records each payment was applied to into the result.
Sort bysort_bytext
Which field to sort on. Leave blank for Invoice Ninja's own order.One of: number, date, amount, created_at (Created at), updated_at (Updated at).
Sort directionsort_directiontext
Which way to sort. Only used when a sort field is chosen.One of: asc (Ascending (A-Z, oldest first)), desc (Descending (Z-A, newest first)).
Results per pageper_pagenumber
How many payments to return on one page, from 1 to 100. Leave blank for Invoice Ninja's default of 20.From 1 to 100.
Pagepagenumber
Which page of results to return. Leave blank for the first page.From 1 to 10000.

Outputs

paginationobject
Where this page sits in the full result set.
paymentslist
The payments on this page.
Example output
{
  "pagination": {
    "count": 1,
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  },
  "payments": [
    {
      "amount": 1200.0,
      "applied": 1200.0,
      "client_id": "Opnel5aKBz",
      "created_at": 1757462400,
      "date": "2026-09-05",
      "id": "Volejrejnm",
      "is_deleted": false,
      "is_manual": true,
      "number": "0007",
      "paymentables": [
        {
          "amount": 1200.0,
          "invoice_id": "Opnel5aKBz"
        }
      ],
      "refunded": 0.0,
      "type_id": "1"
    }
  ]
}

List products

Find products in your Invoice Ninja company.

Inputs

Searchsearchtext
Free-text search across product code, description and custom fields.
Include records that arerecord_statustext
Which records to include. Leave blank to let Invoice Ninja decide, which normally means active ones only.One or more of: active, archived, deleted.
Sort bysort_bytext
Which field to sort on. Leave blank for Invoice Ninja's own order.One of: product_key (Product key), cost, price, created_at (Created at), updated_at (Updated at).
Sort directionsort_directiontext
Which way to sort. Only used when a sort field is chosen.One of: asc (Ascending (A-Z, oldest first)), desc (Descending (Z-A, newest first)).
Results per pageper_pagenumber
How many products to return on one page, from 1 to 100. Leave blank for Invoice Ninja's default of 20.From 1 to 100.
Pagepagenumber
Which page of results to return. Leave blank for the first page.From 1 to 10000.

Outputs

paginationobject
Where this page sits in the full result set.
productslist
The products on this page.
Example output
{
  "pagination": {
    "count": 1,
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  },
  "products": [
    {
      "cost": 90.0,
      "created_at": 1757462400,
      "id": "Wpmbk5ezJn",
      "is_deleted": false,
      "notes": "Consulting, per hour",
      "price": 150.0,
      "product_key": "CONSULT",
      "quantity": 1.0,
      "tax_id": "2"
    }
  ]
}

List quotes

Find quotes in your Invoice Ninja company.

Inputs

Client IDclient_idtext
Only return records for this client, using its Invoice Ninja ID such as 'Opnel5aKBz'. Leave blank for every client.
Quote numbernumbertext
Only return the quote with this number.
Searchsearchtext
Free-text search across quote number, PO number, amount and client name.
Include records that arerecord_statustext
Which records to include. Leave blank to let Invoice Ninja decide, which normally means active ones only.One or more of: active, archived, deleted.
Sort bysort_bytext
Which field to sort on. Leave blank for Invoice Ninja's own order.One of: number, date, due_date (Due date), amount, created_at (Created at), updated_at (Updated at).
Sort directionsort_directiontext
Which way to sort. Only used when a sort field is chosen.One of: asc (Ascending (A-Z, oldest first)), desc (Descending (Z-A, newest first)).
Results per pageper_pagenumber
How many quotes to return on one page, from 1 to 100. Leave blank for Invoice Ninja's default of 20.From 1 to 100.
Pagepagenumber
Which page of results to return. Leave blank for the first page.From 1 to 10000.

Outputs

paginationobject
Where this page sits in the full result set.
quoteslist
The quotes on this page.
Example output
{
  "pagination": {
    "count": 1,
    "current_page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  },
  "quotes": [
    {
      "amount": 900.0,
      "client_id": "Opnel5aKBz",
      "created_at": 1757462400,
      "date": "2026-09-01",
      "due_date": "2026-09-15",
      "id": "Wpmbk5ezJn",
      "invoice_id": "",
      "is_deleted": false,
      "line_items": [
        {
          "cost": 150.0,
          "line_total": 900.0,
          "notes": "Discovery workshop",
          "product_key": "CONSULT",
          "quantity": 6.0
        }
      ],
      "number": "Q0004",
      "status_id": "2"
    }
  ]
}

Record a payment

Record money received from a client, optionally applying it to that client's invoices.

Inputs

Client IDclient_idtextRequired
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Open the client in Invoice Ninja and copy the last part of the web address, or use 'List clients' to find one. This is not the client number shown on the record.
AmountamountnumberRequired
How much was received.At least 0.
Payment datedatedate
When the money arrived. Leave blank for today.
Payment methodtype_idtext
How the client paid.
Apply to invoicesinvoiceslist
Which of the client's invoices to settle, and how much of the payment to put against each. The amounts must not add up to more than the payment. Leave blank to leave the payment unapplied.
Referencetransaction_referencetext
Your own reference for the transaction.
Private notesprivate_notestext
Notes only your own team can see.
Payment numbernumbertext
A number for the payment. Leave blank to let Invoice Ninja allocate the next one.

Outputs

An Invoice Ninja payment.

amountnumber
Amount received.
appliednumber
How much of the amount has been applied to invoices.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the payment is assigned to.
client_contact_idtext
ID of the contact who paid, when the payment came through the portal.
client_idtext
ID of the client who paid.
company_gateway_idtext
ID of the payment gateway that took the payment.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
currency_idtext
Invoice Ninja currency ID as text.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Payment date, as 'YYYY-MM-DD'.
documentslist
Files attached to this record.
exchange_currency_idtext
Currency the amount was converted from, as text.
exchange_ratenumber
Rate used to convert to the company's currency.
gateway_type_idtext
Kind of gateway method used, as text.
idtext
The payment's Invoice Ninja ID, such as 'Opnel5aKBz'.
invitation_idtext
ID of the invitation the payment came from.
invoiceslist
The linked invoices, present only when 'Include linked invoices' is turned on.
is_deletedtrue/false
True once the record has been deleted.
is_manualtrue/false
True when the payment was entered by hand rather than taken by a gateway.
numbertext
The payment number, unique within the company.
paymentableslist
One entry per invoice or credit the payment was applied to, each with the amount applied.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project.
refundednumber
How much of the amount has been refunded.
status_idtext
Payment status as text.
tagslist
Tags attached to this record.
transaction_idtext
ID of the matched bank transaction.
transaction_referencetext
Your own reference for the transaction.
type_idtext
Payment method ID as text, such as '1' for a bank transfer or '2' for cash.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who recorded the payment.
vendor_idtext
ID of the linked vendor.
Example output
{
  "amount": 1200.0,
  "applied": 1200.0,
  "client_id": "Opnel5aKBz",
  "created_at": 1757462400,
  "date": "2026-09-05",
  "id": "Volejrejnm",
  "is_deleted": false,
  "is_manual": true,
  "number": "0007",
  "paymentables": [
    {
      "amount": 1200.0,
      "invoice_id": "Opnel5aKBz"
    }
  ],
  "refunded": 0.0,
  "type_id": "1"
}

Record an expense

Book an expense in your Invoice Ninja company.

Inputs

AmountamountnumberRequired
How much was spent.At least 0.
Expense datedatedate
When the money was spent. Leave blank for today.
Paid onpayment_datedate
When the expense was actually paid, if that differs.
Currencycurrency_idtext
The currency the money was spent in. Leave blank for the company's own currency.
Public notespublic_notestext
Notes a client, if the expense is rebilled to one can see.
Private notesprivate_notestext
Notes only your own team can see.
Referencetransaction_referencetext
Your own reference for the transaction.
Rebill to a clientshould_be_invoicedtrue/false
Turn on to mark the expense as one to bill on to a client.
Expense numbernumbertext
A number for the expense. Leave blank to let Invoice Ninja allocate the next one.

Outputs

An Invoice Ninja expense.

amountnumber
Amount spent.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the expense is assigned to.
bank_idtext
ID of the bank account the expense came from.
calculate_tax_by_amounttrue/false
True when tax is entered as an amount rather than a rate.
category_idtext
ID of the expense category.
client_idtext
ID of the client the expense will be rebilled to.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
currency_idtext
Invoice Ninja currency ID as text.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Expense date, as 'YYYY-MM-DD'.
documentslist
Files attached to this record.
e_invoiceobject
E-invoicing details.
entity_typetext
Always 'expense' for these records.
exchange_ratenumber
Rate used to convert to the company's currency.
expense_currency_idtext
Currency the expense was incurred in, as text.
foreign_amountnumber
Amount in the expense's own currency.
idtext
The expense's Invoice Ninja ID, such as 'Opnel5aKBz'.
invoice_currency_idtext
Currency the expense is rebilled in, as text.
invoice_documentstrue/false
Whether the expense's files are attached to the invoice it is billed on.
invoice_idtext
ID of the invoice the expense was billed on.
is_deletedtrue/false
True once the record has been deleted.
numbertext
The expense number, unique within the company.
payment_datetext
When it was paid, as 'YYYY-MM-DD'.
payment_type_idtext
Payment method ID as text.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project.
public_notestext
Notes the client can see when the expense is rebilled.
recurring_expense_idtext
ID of the recurring expense that generated this one.
should_be_invoicedtrue/false
Whether the expense is marked to rebill to a client.
tagslist
Tags attached to this record.
tax_amount1number
Amount of tax 1 on the expense.
tax_amount2number
Amount of tax 2 on the expense.
tax_amount3number
Amount of tax 3 on the expense.
tax_name1text
Name of tax 1, for example 'VAT'.
tax_name2text
Name of tax 2, for example 'VAT'.
tax_name3text
Name of tax 3, for example 'VAT'.
tax_rate1number
Percentage rate of tax 1.
tax_rate2number
Percentage rate of tax 2.
tax_rate3number
Percentage rate of tax 3.
transaction_idtext
ID of the matched bank transaction.
transaction_referencetext
Your own reference for the transaction.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who recorded the expense.
uses_inclusive_taxestrue/false
True when the amount already includes tax.
vendor_idtext
ID of the vendor the money was paid to.
Example output
{
  "amount": 42.5,
  "created_at": 1757462400,
  "date": "2026-09-04",
  "id": "Volejrejnm",
  "is_deleted": false,
  "number": "0003",
  "public_notes": "Team lunch",
  "should_be_invoiced": false
}

Refund a payment

Refund a recorded payment, in full or in part. Invoice Ninja puts the balance back on any invoices the refund covers.

Inputs

Payment IDpayment_idtextRequired
The payment's Invoice Ninja ID, such as 'Opnel5aKBz'. Use 'List payments' to find one.
Refund datedatedateRequired
The date of the refund.
Amountamountnumber
How much to refund. Leave blank to refund everything that has not been refunded already.At least 0.
Refund against invoicesinvoiceslist
Which invoices the refund comes off, and how much from each. Leave blank to refund the payment without touching any invoice balance.

Outputs

An Invoice Ninja payment.

amountnumber
Amount received.
appliednumber
How much of the amount has been applied to invoices.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the payment is assigned to.
client_contact_idtext
ID of the contact who paid, when the payment came through the portal.
client_idtext
ID of the client who paid.
company_gateway_idtext
ID of the payment gateway that took the payment.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
currency_idtext
Invoice Ninja currency ID as text.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Payment date, as 'YYYY-MM-DD'.
documentslist
Files attached to this record.
exchange_currency_idtext
Currency the amount was converted from, as text.
exchange_ratenumber
Rate used to convert to the company's currency.
gateway_type_idtext
Kind of gateway method used, as text.
idtext
The payment's Invoice Ninja ID, such as 'Opnel5aKBz'.
invitation_idtext
ID of the invitation the payment came from.
invoiceslist
The linked invoices, present only when 'Include linked invoices' is turned on.
is_deletedtrue/false
True once the record has been deleted.
is_manualtrue/false
True when the payment was entered by hand rather than taken by a gateway.
numbertext
The payment number, unique within the company.
paymentableslist
One entry per invoice or credit the payment was applied to, each with the amount applied.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project.
refundednumber
How much of the amount has been refunded.
status_idtext
Payment status as text.
tagslist
Tags attached to this record.
transaction_idtext
ID of the matched bank transaction.
transaction_referencetext
Your own reference for the transaction.
type_idtext
Payment method ID as text, such as '1' for a bank transfer or '2' for cash.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who recorded the payment.
vendor_idtext
ID of the linked vendor.
Example output
{
  "amount": 1200.0,
  "applied": 1200.0,
  "client_id": "Opnel5aKBz",
  "created_at": 1757462400,
  "date": "2026-09-05",
  "id": "Volejrejnm",
  "is_deleted": false,
  "is_manual": true,
  "number": "0007",
  "paymentables": [
    {
      "amount": 1200.0,
      "invoice_id": "Opnel5aKBz"
    }
  ],
  "refunded": 1200.0,
  "type_id": "1"
}

Update a client

Change details on an existing Invoice Ninja client. Fields left blank keep their current values.

Inputs

Client IDclient_idtextRequired
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Open the client in Invoice Ninja and copy the last part of the web address, or use 'List clients' to find one. This is not the client number shown on the record.
Client namenametext
A new name for the client. Leave blank to keep the current one.
Contactscontactslist
The full list of people at this client. Invoice Ninja replaces every contact with what is sent here, so leave this blank unless the step means to rewrite them all; the existing contacts are kept for you.
Websitewebsitetext
A new website address.
Phonephonetext
A new main phone number.
Address line 1address1text
First line of the billing address.
Address line 2address2text
Second line of the billing address.
Citycitytext
Billing address city.
State or regionstatetext
Billing address state, province or region.
Postal codepostal_codetext
Billing address postal or ZIP code.
Countrycountry_idtext
The client's country.
Industryindustry_idtext
The industry the client works in.
Company sizesize_idtext
Roughly how many people the client employs.
Client typeclassificationtext
What kind of entity the client is.One of: individual, business, company, partnership, trust, charity, government, other.
VAT numbervat_numbertext
The client's VAT or tax registration number.
Your referenceid_numbertext
Your own reference number for this client.
Public notespublic_notestext
Notes the client can see.
Private notesprivate_notestext
Notes only your own team can see.

Outputs

An Invoice Ninja client (customer).

address1text
First address line.
address2text
Second address line.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the client is assigned to.
balancenumber
Amount currently owed by this client.
citytext
City.
classificationtext
What kind of entity the client is, such as 'business' or 'individual'.
client_hashtext
The key in the client's portal link.
contactslist
The client's contacts.
country_idtext
ISO numeric country code as text, such as '840' for the United States.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
credit_balancenumber
Outstanding credit note balance.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
display_nametext
The name Invoice Ninja shows, which falls back to the first contact when the client has no name.
documentslist
Files attached to this record.
e_invoiceobject
E-invoicing settings.
gateway_tokenslist
Stored payment methods.
group_settings_idtext
ID of the client group this client belongs to.
has_valid_vat_numbertrue/false
Whether Invoice Ninja could validate the VAT number.
idtext
The client's Invoice Ninja ID, such as 'Opnel5aKBz'. Use this wherever a step asks for a client.
id_numbertext
Your own reference number for the client.
industry_idtext
Invoice Ninja industry ID, as text.
is_deletedtrue/false
True once the record has been deleted.
is_tax_exempttrue/false
Whether the client is exempt from tax.
last_loginnumber
Client-portal last login, as a Unix timestamp in seconds.
locationslist
Additional addresses recorded for the client.
nametext
Company or person name.
numbertext
The client number, unique within the company.
paid_to_datenumber
Total the client has paid so far.
payment_balancenumber
Unapplied payment credit held for this client.
phonetext
Phone number.
postal_codetext
Postal or ZIP code.
private_notestext
Notes only your team can see.
public_notestext
Notes the client can see.
routing_idtext
Bank routing identifier.
settingsobject
Per-client overrides such as currency, language and payment terms.
shipping_address1text
First shipping address line.
shipping_address2text
Second shipping address line.
shipping_citytext
Shipping city.
shipping_country_idtext
ISO numeric country code of the shipping address, as text.
shipping_postal_codetext
Shipping postal or ZIP code.
shipping_statetext
Shipping state, province or region.
size_idtext
Invoice Ninja company-size ID, as text.
statetext
State, province or region.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the client.
vat_numbertext
VAT or tax number.
websitetext
Website address.
Example output
{
  "balance": 1200.0,
  "classification": "business",
  "contacts": [
    {
      "email": "michael@example.com",
      "first_name": "Michael",
      "id": "Wpmbk5ezJn",
      "is_primary": true,
      "last_name": "Bluth"
    }
  ],
  "country_id": "840",
  "created_at": 1757462400,
  "display_name": "Bluth Company",
  "id": "Opnel5aKBz",
  "is_deleted": false,
  "name": "Bluth Company",
  "number": "0001",
  "paid_to_date": 3400.0
}

Update an invoice

Change an existing Invoice Ninja invoice. Fields left blank keep their current values.

Inputs

Invoice IDinvoice_idtextRequired
The invoice's Invoice Ninja ID, such as 'Opnel5aKBz'.
Client IDclient_idtext
Move the invoice to a different client, using that client's Invoice Ninja ID such as 'Opnel5aKBz'. Leave blank to keep it where it is.
Line itemsline_itemslist
The lines on the invoice. Each needs at least a description ('notes'), a quantity and a unit price ('cost'). Sending lines replaces every existing line, so leave this blank unless the step means to rewrite them all.
Invoice numbernumbertext
A new invoice number. Numbers must be unique.
PO numberpo_numbertext
The client's purchase order number.
Invoice datedatedate
A new date for the invoice.
Due datedue_datedate
A new date payment is due.
Discountdiscountnumber
A discount off the whole invoice.At least 0.
Discount is an amountis_amount_discounttrue/false
Turn on to treat the discount as a cash amount. Leave off to treat it as a percentage.
Termstermstext
Terms printed on the invoice.
Footerfootertext
Footer printed on the invoice.
Public notespublic_notestext
Notes the client can see.
Private notesprivate_notestext
Notes only your own team can see.

Outputs

An Invoice Ninja invoice.

amountnumber
Total amount of the document.
archived_atnumber
When the record was archived, as a Unix timestamp in seconds. 0 when it is not archived.
assigned_user_idtext
ID of the user the document is assigned to.
auto_bill_enabledtrue/false
Whether the client's stored payment method is charged automatically.
balancenumber
Amount still outstanding.
client_idtext
ID of the client this document belongs to.
created_atnumber
When the record was created, as a Unix timestamp in seconds.
custom_surcharge1text
Custom field 1 on this record.
custom_surcharge2text
Custom field 2 on this record.
custom_surcharge3text
Custom field 3 on this record.
custom_surcharge4text
Custom field 4 on this record.
custom_value1text
Custom field 1 on this record.
custom_value2text
Custom field 2 on this record.
custom_value3text
Custom field 3 on this record.
custom_value4text
Custom field 4 on this record.
datetext
Document date, as 'YYYY-MM-DD'.
design_idtext
ID of the PDF design template used.
discountnumber
Discount applied to the whole document.
documentslist
Files attached to this record.
due_datetext
Due date, as 'YYYY-MM-DD'. On a quote this is the valid-until date.
e_invoiceobject
E-invoicing details.
entity_typetext
Which kind of document this is, such as 'invoice' or 'quote'.
exchange_ratenumber
Rate used to convert the client's currency to the company's.
footertext
Footer shown on the document.
has_expensestrue/false
Whether expenses are billed on this document.
has_taskstrue/false
Whether tasks are billed on this document.
idtext
The record's Invoice Ninja ID, such as 'Opnel5aKBz'.
invitationslist
One entry per contact the document is shared with, each carrying the portal link.
is_amount_discounttrue/false
True when the document discount is an amount rather than a percentage.
is_deletedtrue/false
True once the record has been deleted.
last_sent_datetext
When the document was last emailed, as 'YYYY-MM-DD'.
line_itemslist
The document's lines.
location_idtext
ID of the location the document is billed from.
next_send_datetext
When the next reminder is scheduled, as 'YYYY-MM-DD'.
numbertext
The document number, unique within the company.
paid_to_datenumber
Amount paid against this document so far.
partialnumber
Deposit amount requested before the full balance.
partial_due_datetext
Due date of the deposit, as 'YYYY-MM-DD'.
po_numbertext
Purchase order number.
private_notestext
Notes only your team can see.
project_idtext
ID of the linked project, when there is one.
public_notestext
Notes the client can see.
recurring_idtext
ID of the recurring invoice that generated this one.
reminder_last_senttext
When the last reminder went out, as 'YYYY-MM-DD'.
status_idtext
Status as text. For invoices: '1' draft, '2' sent, '3' partial, '4' paid, '5' cancelled, '6' reversed.
subscription_idtext
ID of the subscription that produced the document.
tagslist
Tags attached to this record.
tax_infoobject
Tax registration details.
tax_name1text
Name of tax 1, for example 'VAT'.
tax_name2text
Name of tax 2, for example 'VAT'.
tax_name3text
Name of tax 3, for example 'VAT'.
tax_rate1number
Percentage rate of tax 1.
tax_rate2number
Percentage rate of tax 2.
tax_rate3number
Percentage rate of tax 3.
termstext
Terms shown on the document.
total_taxesnumber
Total tax charged.
updated_atnumber
When the record last changed, as a Unix timestamp in seconds.
user_idtext
ID of the user who created the document.
uses_inclusive_taxestrue/false
True when the line prices already include tax.
vendor_idtext
ID of the linked vendor, when there is one.
Example output
{
  "amount": 1200.0,
  "balance": 1200.0,
  "client_id": "Wpmbk5ezJn",
  "created_at": 1757462400,
  "date": "2026-09-01",
  "due_date": "2026-09-30",
  "id": "Opnel5aKBz",
  "is_deleted": false,
  "line_items": [
    {
      "cost": 150.0,
      "line_total": 1200.0,
      "notes": "Consulting, September",
      "product_key": "CONSULT",
      "quantity": 8.0
    }
  ],
  "number": "0012",
  "paid_to_date": 0.0,
  "status_id": "2"
}

On this page