API Documentation

API Endpoint

Invoices

Invoices

For more details on how to work with custom fields please refer to Working with custom fields guide.

The invoice object represents the main building block of the invoicing module.

You can find out more about invoicing in our Help documentation: Creating and Managing Invoices

Following diagram shows invoices in our data hierarchy:

Invoice diagram

Tax changes

On September 3, 2024, we’ve released new Tax rates system. That means that tax1_name, tax1_value, tax2_name and tax2_value attributes on Invoice object are no longer in use. You should, however, use tax_rate_id attribute on Line item objects to achieve the same goal. You can read more about this in LineItems endpoint documentation.

Supported filter params

  • amount

  • amount_credited

  • amount_credited_with_tax

  • amount_paid

  • amount_tax

  • amount_unpaid

  • amount_with_tax

  • amount_written_off

  • company_id (array)

  • created_at

  • creator_id (array)

  • credited

  • currency

  • deal_id (array)

  • delivery_on

  • export_status (1: exported, 2: unexported)

  • full_query

  • fuzzy_dates

  • fuzzy_people

  • id

  • invoice_aging (0: other, 1: overdue < 15 days, 2: overdue 15 - 45 days, 3: overdue 45+ days, 4: not overdue)

  • invoice_state (1: draft, 2: finalized)

  • invoice_status (0: unsent, 1: paid, 2: overdue, 3: not_overdue, 4: draft)

  • invoice_type (1: invoice, 2: credit note)

  • invoiced_on

  • invoicing_method (1: actuals, 2: uninvoiced amount, 3: percentage)

  • issuer_id (array)

  • jump_query

  • last_activity_at

  • number

  • overdue_status

  • paid_on

  • parent_invoice_id (array)

  • pay_on

  • payment_status (1: paid, 2: unpaid, 3: partially paid)

  • project_id (array)

  • purchase_order_number

  • query

  • responsible_id (array)

  • sent_on

  • sent_status (1: sent, 2: unsent)

  • status (0: unsent, 1: paid, 2: overdue, 3: not_overdue, 4: draft)

  • subscriber_id (array)

  • subsidiary_id (array)

  • tags

Supported sort params

  • amount

  • amount_credited

  • amount_credited_with_tax

  • amount_paid

  • amount_tax

  • amount_with_tax

  • amount_written_off

  • company_name

  • created_at

  • credited

  • custom_fields

  • deleted_at

  • delivery_on

  • discount

  • invoiced_on

  • last_activity_at

  • number

  • pay_on

  • purchase_order_number

  • sent_on

Filter operations are supported on this endpoint.

Invoicing flow

Manual workflow

Step 1: Create Draft Invoice

  • Endpoint: POST /api/v2/invoices

  • Creates invoice in draft state with generated ID

Step 2: Add Line Items

  • Endpoint: POST /api/v2/line_items

  • Each line item is validated and created individually

Step 3: Create Invoice Attributions

  • Endpoint: POST /api/v2/invoice_attributions

  • Links invoice to specific budgets with amount allocation

  • Validates budget and invoice have same currency

  • Updates associated time entries and expenses to link them to the attribution

Workflow using line item generator

Step 1: Create Draft Invoice

  • Same as manual workflow

Step 2: Preview Line Items (Optional)

  • Endpoint: GET /api/v2/invoices/:id/preview

  • Test different invoicing methods and parameters

  • Returns computed line items and invoice attributions without persisting

  • Use same parameters as generation step

Step 3: Generate Line Items and Attributions

  • Endpoint: POST /api/v2/line_items/generate

  • Creates all line items and invoice attributions in a single operation

  • Automatically handles grouping, calculations, and positioning

GET /api/v2/invoices
Requestsreturns invoices

GET  /api/v2/invoices

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "25",
      "type": "invoices",
      "attributes": {
        "number": "2016/01",
        "subject": null,
        "invoiced_on": "2025-09-05",
        "sent_on": null,
        "pay_on": "2025-09-15",
        "delivery_on": null,
        "paid_on": null,
        "finalized_on": "2025-09-05",
        "discount": null,
        "tax1_name": null,
        "tax1_value": null,
        "tax2_name": null,
        "tax2_value": null,
        "deleted_at": null,
        "tag_list": [],
        "note": null,
        "footer": null,
        "exported": false,
        "exported_at": null,
        "export_integration_type_id": null,
        "export_id": null,
        "export_invoice_url": null,
        "company_reference_id": null,
        "note_interpolated": null,
        "footer_interpolated": null,
        "email_key": "b446f670a5ea91acb2dfbcc963962076",
        "purchase_order_number": null,
        "created_at": "2025-09-05T06:06:28.806+02:00",
        "exchange_rate": "1.25",
        "exchange_date": "2025-09-05",
        "custom_fields": null,
        "updated_at": "2025-09-05T06:06:28.806+02:00",
        "sample_data": false,
        "pay_on_relative": false,
        "invoice_type_id": 1,
        "credited": false,
        "line_item_tax": false,
        "last_activity_at": "2025-09-05T06:06:28.806+02:00",
        "creation_options": {},
        "payment_terms": 10,
        "bank_account_details": null,
        "currency": "EUR",
        "currency_default": "USD",
        "currency_normalized": "EUR",
        "amount": 0,
        "amount_default": 0,
        "amount_normalized": 0,
        "amount_tax": 0,
        "amount_tax_default": 0,
        "amount_tax_normalized": 0,
        "amount_with_tax": 0,
        "amount_with_tax_default": 0,
        "amount_with_tax_normalized": 0,
        "amount_paid": 0,
        "amount_paid_default": 0,
        "amount_paid_normalized": 0,
        "amount_written_off": 0,
        "amount_written_off_default": 0,
        "amount_written_off_normalized": 0,
        "amount_unpaid": 0,
        "amount_unpaid_default": 0,
        "amount_unpaid_normalized": 0,
        "amount_credited": 0,
        "amount_credited_default": 0,
        "amount_credited_normalized": 0,
        "amount_credited_with_tax": 0,
        "amount_credited_with_tax_default": 0,
        "amount_credited_with_tax_normalized": 0
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "652"
          }
        },
        "bill_to": {
          "meta": {
            "included": false
          }
        },
        "bill_from": {
          "meta": {
            "included": false
          }
        },
        "company": {
          "meta": {
            "included": false
          }
        },
        "document_type": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "subsidiary": {
          "meta": {
            "included": false
          }
        },
        "parent_invoice": {
          "meta": {
            "included": false
          }
        },
        "issuer": {
          "meta": {
            "included": false
          }
        },
        "bank_account": {
          "meta": {
            "included": false
          }
        },
        "invoice_attributions": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        },
        "attachment": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/invoices?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/invoices?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get invoices
GET/api/v2/invoices


GET /api/v2/invoices/1
Requestsreturns invoice

GET  /api/v2/invoices/27

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "27",
    "type": "invoices",
    "attributes": {
      "number": "2016/01",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "995076891c10643009497dc3785311fd",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:29.223+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:29.223+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:29.223+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "654"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets an invoice
GET/api/v2/invoices/{id}

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


POST /api/v2/invoices
Requestscreates invoice and tracks intercom eventreturns error

POST  /api/v2/invoices

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "invoiced_on": "2025-09-05",
      "pay_on": "2025-09-15",
      "currency": "EUR",
      "bank_account_id": 1,
      "bank_account_details": {
        "bank_name": "Test Bank",
        "number": "HR123456789"
      }
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "1839"
        }
      },
      "subsidiary": {
        "data": {
          "type": "subsidiaries",
          "id": "750"
        }
      },
      "document_type": {
        "data": {
          "type": "document_types",
          "id": "672"
        }
      },
      "issuer_id": {
        "data": {
          "type": "people",
          "id": "2475"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "29",
    "type": "invoices",
    "attributes": {
      "number": null,
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": null,
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "c31ae2a58b691ff2584e073591678b1c",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:29.551+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:29.551+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": true,
      "last_activity_at": "2025-09-05T06:06:29.551+02:00",
      "creation_options": null,
      "payment_terms": 10,
      "bank_account_details": {
        "bank_name": "Test Bank",
        "number": "HR123456789"
      },
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "655"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/invoices

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "invoiced_on": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/currency"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/invoiced_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/company"
      }
    }
  ]
}

Create an invoice
POST/api/v2/invoices

URI Parameters
HideShow
invoiced_on
date (required) Example: 2018-01-01

invoiced on

currency
string (required) Example: EUR

currency

company_id
number (required) Example: 1

company id

subsidiary_id
number (optional) Example: 1

subsidiary id, required if subsidiary feature enabled

invoice_type_id
number (optional) Example: 2

invoice type id, required if credit note

document_type_id
number (required) Example: 1

document type id

issuer_id
number (optional) Example: 100

ID of invoice issuer; if nothing is sent, creator will be set as issuer


PATCH /api/v2/invoices/1
Requestsupdates invoice, invokes automations scheduler and tracks invoice_updated eventreturns error

PATCH  /api/v2/invoices/34

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "number": "02/2017"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "34",
    "type": "invoices",
    "attributes": {
      "number": "02/2017",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "cef85820d45cac75e19073b672d786e4",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:30.896+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:30.918+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": true,
      "last_activity_at": "2025-09-05T06:06:30.896+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "659"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/invoices/36

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "invoiced_on": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/invoiced_on"
      }
    }
  ]
}

Update an invoice
PATCH/api/v2/invoices/{id}

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


DELETE /api/v2/invoices/1
Requestsarchives invoice and deletes comments

DELETE  /api/v2/invoices/37

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes an invoice
DELETE/api/v2/invoices/{id}

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


PATCH /api/v2/invoices/1/export
Requestsraises errorwhen company_reference_id is presentwhen company_reference_id is not presentwhen attributes not present

PATCH  /api/v2/invoices/39/export

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "tax_rates_not_mapped",
      "title": "Invalid Attribute",
      "detail": "Tax rates not mapped",
      "source": {
        "pointer": "data/attributes/tax_rate"
      }
    }
  ]
}

PATCH  /api/v2/invoices/40/export

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "id": "1",
    "type": "invoices",
    "attributes": {
      "company_reference_id": "115"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "40",
    "type": "invoices",
    "attributes": {
      "number": "2016/01",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "f1b6af01de49e58cf811e2df9e330fa5",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:32.749+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:32.749+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:32.749+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "665"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/invoices/41/export

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "id": "1",
    "type": "invoices",
    "attributes": {
      "company_reference_id": null
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "41",
    "type": "invoices",
    "attributes": {
      "number": "2016/01",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "4aea3ca40ef04faf7f4dc79682f9642c",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:32.914+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:32.914+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:32.914+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "666"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/invoices/42/export

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "id": "1",
    "type": "invoices"
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "42",
    "type": "invoices",
    "attributes": {
      "number": "2016/01",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "e54fca6eaeb3824b05c7aee4b0586a0e",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:33.061+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:33.061+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:33.061+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "667"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Exports an invoice
PATCH/api/v2/invoices/{id}/export

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


PATCH /api/v2/invoices/1/export_update
Requestsraises error

PATCH  /api/v2/invoices/44/export_update

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "feature unavailable",
      "source": {
        "pointer": "data/attributes/export_to_accounting"
      }
    }
  ]
}

Updates an exported invoice
PATCH/api/v2/invoices/{id}/export_update

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


PATCH /api/v2/invoices/1/send
Requestssends invoice via mailreturns errordoes not allow sending emails to addresses except your ownsends invoice via mail

PATCH  /api/v2/invoices/46/send

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "to": [
        "test@email.com"
      ],
      "cc": [
        "test@productive.io",
        "test-2@productive.io"
      ],
      "bcc": [
        "mail@something.com"
      ],
      "subject": "Mail title",
      "body": "Lorem ipsum dolor si amet",
      "e_invoice_url": "https://einvoice-files-test.productive.io/test.xml"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "46",
    "type": "invoices",
    "attributes": {
      "number": "2016/01",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": "2025-09-05",
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "c1d26312f363f548a6d9c17848b40f60",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:33.938+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:34.012+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:33.938+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "671"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/invoices/52/send

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "to": [
        "invalid mail"
      ]
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "invalid mail is not an email",
      "source": {
        "pointer": "data/attributes/to"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/subject"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/body"
      }
    }
  ]
}

PATCH  /api/v2/invoices/53/send

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "to": [
        "random_email@mail.com"
      ],
      "cc": [
        "random_email_cc@mail.com"
      ],
      "bcc": [
        "random_email_bcc@mail.com"
      ],
      "subject": "Test Email",
      "body": "This is a test email"
    }
  }
}
Responses403
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "403",
      "code": "restricted_email_in_trialing",
      "title": "Access Denied",
      "detail": "When in trial you can send emails only to yourself",
      "source": {}
    }
  ]
}

PATCH  /api/v2/invoices/54/send

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "to": [
        "test@email.com"
      ],
      "cc": [
        "test@productive.io",
        "test-2@productive.io"
      ],
      "bcc": [
        "mail@something.com"
      ],
      "subject": "Mail title",
      "body": "Lorem ipsum dolor si amet"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "54",
    "type": "invoices",
    "attributes": {
      "number": "2016/01",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": "2025-09-05",
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "18e9cb4cca4aa1f52bc97c75b74f8901",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:37.472+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:37.542+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:37.472+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "679"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Sends an invoice
PATCH/api/v2/invoices/{id}/send

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


PATCH /api/v2/invoices/1/finalize
Requestsfinalizes invoicefinalizes invoice

PATCH  /api/v2/invoices/64/finalize

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {
      "number": "05/2021"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "64",
    "type": "invoices",
    "attributes": {
      "number": "05/2021",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "cd802bad7c6a8a4eee7aef8922af82c9",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:40.434+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:40.460+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:40.434+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "687"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/invoices/66/finalize

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "invoices",
    "attributes": {}
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "66",
    "type": "invoices",
    "attributes": {
      "number": "0-CLIE1303-1",
      "subject": null,
      "invoiced_on": "2025-09-05",
      "sent_on": null,
      "pay_on": "2025-09-15",
      "delivery_on": null,
      "paid_on": null,
      "finalized_on": "2025-09-05",
      "discount": null,
      "tax1_name": null,
      "tax1_value": null,
      "tax2_name": null,
      "tax2_value": null,
      "deleted_at": null,
      "tag_list": [],
      "note": null,
      "footer": null,
      "exported": false,
      "exported_at": null,
      "export_integration_type_id": null,
      "export_id": null,
      "export_invoice_url": null,
      "company_reference_id": null,
      "note_interpolated": null,
      "footer_interpolated": null,
      "email_key": "22b3724504166b7ac8bab976d122585c",
      "purchase_order_number": null,
      "created_at": "2025-09-05T06:06:41.763+02:00",
      "exchange_rate": "1.25",
      "exchange_date": "2025-09-05",
      "custom_fields": null,
      "updated_at": "2025-09-05T06:06:41.797+02:00",
      "sample_data": false,
      "pay_on_relative": false,
      "invoice_type_id": 1,
      "credited": false,
      "line_item_tax": false,
      "last_activity_at": "2025-09-05T06:06:41.763+02:00",
      "creation_options": {},
      "payment_terms": 10,
      "bank_account_details": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "amount": 0,
      "amount_default": 0,
      "amount_normalized": 0,
      "amount_tax": 0,
      "amount_tax_default": 0,
      "amount_tax_normalized": 0,
      "amount_with_tax": 0,
      "amount_with_tax_default": 0,
      "amount_with_tax_normalized": 0,
      "amount_paid": 0,
      "amount_paid_default": 0,
      "amount_paid_normalized": 0,
      "amount_written_off": 0,
      "amount_written_off_default": 0,
      "amount_written_off_normalized": 0,
      "amount_unpaid": 0,
      "amount_unpaid_default": 0,
      "amount_unpaid_normalized": 0,
      "amount_credited": 0,
      "amount_credited_default": 0,
      "amount_credited_normalized": 0,
      "amount_credited_with_tax": 0,
      "amount_credited_with_tax_default": 0,
      "amount_credited_with_tax_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "689"
        }
      },
      "bill_to": {
        "meta": {
          "included": false
        }
      },
      "bill_from": {
        "meta": {
          "included": false
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "parent_invoice": {
        "meta": {
          "included": false
        }
      },
      "issuer": {
        "meta": {
          "included": false
        }
      },
      "bank_account": {
        "meta": {
          "included": false
        }
      },
      "invoice_attributions": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachment": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Finalizes an invoice
PATCH/api/v2/invoices/{id}/finalize

URI Parameters
HideShow
id
number (required) Example: 1

invoice id


GET /api/v2/invoices/1/preview
Requestsreturns generated line items and invoice attributionsreturns error when invalid param

GET  /api/v2/invoices/69/preview?budget_ids[]=657&display_format={budget}&invoicing_by=budget&invoicing_method=percentage&percentage=50

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": [
    {
      "budget_id": "657",
      "service_id": null,
      "service_type_id": "349",
      "service_type_name": "test name",
      "description": "test name",
      "type": "regular",
      "currency": "EUR",
      "discount": null,
      "amount": 50000,
      "amount_rounded": 50000,
      "object_type": "line_item",
      "invoice_id": "69",
      "unit_id": "2",
      "unit_name": "Piece",
      "quantity": 0.5,
      "unit_price": 100000,
      "position": 1
    },
    {
      "object_type": "invoice_attribution",
      "invoice_id": "69",
      "budget_id": "657",
      "amount": 50000,
      "date_from": null,
      "date_to": null
    }
  ]
}

GET  /api/v2/invoices/71/preview?budget_ids[]=658&display_format={budget}&invoicing_by=budget&invoicing_method=percentage

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/percentage"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a number",
      "source": {
        "pointer": "data/attributes/percentage"
      }
    }
  ]
}

Preview invoice
GET/api/v2/invoices/{id}/preview

The preview endpoint lets you simulate invoice line item generation without persisting any changes. It returns the exact line items and invoice attributions that would be created for a given invoice based on the selected invoicing method and options.

  • Builds line items using the same logic as the line items “generate” method

  • Returns data only, does not modify the invoice

URI Parameters
HideShow
id
number (required) Example: 1

invoice id

budget_ids
array (required) Example: %5B1%2C+3%5D

array of budget ids

invoicing_method
string (required) Example: percentage

possible values: uninvoiced_time_and_expenses, uninvoiced_amount, percentage

invoicing_by
string (optional) Example: service

possible values: service/budget; required for invoicing method uninvoiced_amount or percentage

percentage
number (optional) Example: 50

percentage of budget revenue; required for invoicing method percentage

display_format
string (required) Example: %7Bservice%7D

display format

expense_display_format
string (optional) Example: %7Bexpense%7D

display format for expenses

locale
string (optional) Example: en_US

locale; required for invoicing method uninvoiced_time_and_expenses

date_from
date (optional) Example: 2024-04-01

date from

date_to
date (optional) Example: 2024-05-01

date to


Generated by aglio on 05 Sep 2025