The number of results that will be returned per page.
Kanbert (v1)
Available sorts are invoice_number, title, date_of_invoice, sum_net, sum_tax, sum_external_costs, sum_gross, created_at, updated_at, computed_fields.<alias>.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.
Available includes are external_costs, line_items, discounts. You can include multiple options by separating them with a comma.
Allowed filter fields (with allowed operators):
| Field | Type | Operators |
|---|---|---|
archived | enum: with, only, without | eq |
title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
status | enum<OutgoingInvoiceStatus> | eq, ne, neq, in, nin, notin |
payment_status | enum<OutgoingInvoicePaymentStatus> | eq, ne, neq, in, nin, notin |
invoice_number | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
is_credit | boolean | eq, ne, neq, isnull, isnotnull, notnull |
date_of_invoice | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull |
payment_due_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull |
sum_net | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
sum_tax | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
sum_gross | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
editor.id | id<UserData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
editor.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
editor.email | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
client.id | id<ClientData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
client.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
client.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
client.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.id | id<ProjectData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
project.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
company.id | id<CompanyData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
company.company_name:string | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
line_items | Relation- title (string) - price (currency) - amount (float) - project.id (id) - project.title (string) - project.external_id (string) - project.shortcode (string) - total_net (currency) - total_net_base (currency) - total_net_without_discount (currency) - total_gross (currency) - total_gross_base (currency) - total_gross_without_discount (currency) - purchase_total (currency) - purchase_total_base (currency) - type (enum) | any, none, count, all |
external_costs | Relation- title (string) - amount (float) - project.id (id) - project.title (string) - project.external_id (string) - project.shortcode (string) - supplier.id (id) - supplier.name (string) - price (currency) - total (currency) | any, none, count, all |
Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.
You can check the full syntax at Docs Filtering section.
Special values:
- me.id — current authenticated user id (usable on fields of type id). Example:
id eq me.id - now — current date-time. Example:
dueOn lt now - sow/eow — start/end of week. Examples:
dueOn gt sow,dueOn lt eow - som/eom — start/end of month. Examples:
dueOn gt som,dueOn lt eom - today — special date for today; with eq it expands to the whole day range. Example:
dueOn eq today - today±Nd — relative day offset. Examples:
today-30d,today+5d.
Dynamic computed relation fields (computed_fields[alias])
Declare ad-hoc aggregates per request using: computed_fields[<alias>] = relation.aggregate(args)
Syntax:
- Count:
relation.count()orrelation.count(<where>) - Sum/Avg/Min/Max:
relation.sum(<column>)orrelation.sum(<column>, <where>)
Where is written using the same Filter DSL and is validated against the relation's allowed fields.
Use the prefix computed_fields. when referencing these aliases in filter or sort, e.g., filter=computed_fields.tasks_done gte 1 or sort=-computed_fields.tasks_done. Bare aliases are accepted for backward compatibility but deprecated.
Allowed relations for computed_fields (deny-all by default):
- line_items (→ lineItems): aggregates: count, sum, avg, min, max; coalesce default: 0
- external_costs (→ internalCosts): aggregates: count, sum, avg, min, max; coalesce default: 0
Example: ?computed_fields[tasks_done]=tasks.count(status%20eq%20%22Completed%22)&filter=computed_fields.tasks_done%20gt%200
- https://api.kanbert.com/api/v1/outgoing-invoices
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.kanbert.com/api/v1/outgoing-invoices?sort=sort%3D-created_at%2Ctitle&include=string&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&computed_fields%5Balias%5D=computed_fields%5Btasks_done%5D%3Dtasks.count%28status%2520eq%2520%2522Completed%2522%29' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'The cursor paginated collection of OutgoingInvoiceData
The list of items
If invoice is part of a master invoice plan
estimate Invoice is meant as estimate |
open Invoice in draft |
bookable Invoice is ready to be booked |
booked Invoice was booked |
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Indicator for partial invoices <currentInvoice>/<numberOfInvoices>
Is not calculated with invoices partial_factor in mind
If true this discount was granted due to payment discount rules
Is always the full price of the unit (without partial_factor) See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Value in percent. Describes the part of the unit that is included in the invoice
If true, the unit will be excluded from offer-wide discounts
If true, the amount will multiply discount absolute
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
If true, purchase_amount will be in sync with amount
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
For partial invoices external costs will be empty - these are part of the invoice master plan
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }
Available sorts are title, performance_range_start, performance_range_end, sum_net, sum_tax, sum_external_costs, sum_gross, created_at, updated_at, computed_fields.<alias>.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.
Available includes are external_costs, line_items, discounts. You can include multiple options by separating them with a comma.
Allowed filter fields (with allowed operators):
| Field | Type | Operators |
|---|---|---|
archived | enum: with, only, without | eq |
title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
sum_net | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
sum_tax | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
sum_gross | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
editor.id | id<UserData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
editor.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
editor.email | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
client.id | id<ClientData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
client.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
client.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
client.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.id | id<ProjectData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
project.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
company.id | id<CompanyData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
company.company_name:string | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
line_items | Relation- title (string) - price (currency) - amount (float) - project.id (id) - project.title (string) - project.external_id (string) - project.shortcode (string) - total_net (currency) - total_net_base (currency) - total_net_without_discount (currency) - total_gross (currency) - total_gross_base (currency) - total_gross_without_discount (currency) - purchase_total (currency) - purchase_total_base (currency) - type (enum) | any, none, count, all |
external_costs | Relation- title (string) - amount (float) - project.id (id) - project.title (string) - project.external_id (string) - project.shortcode (string) - supplier.id (id) - supplier.name (string) - price (currency) - total (currency) | any, none, count, all |
Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.
You can check the full syntax at Docs Filtering section.
Special values:
- me.id — current authenticated user id (usable on fields of type id). Example:
id eq me.id - now — current date-time. Example:
dueOn lt now - sow/eow — start/end of week. Examples:
dueOn gt sow,dueOn lt eow - som/eom — start/end of month. Examples:
dueOn gt som,dueOn lt eom - today — special date for today; with eq it expands to the whole day range. Example:
dueOn eq today - today±Nd — relative day offset. Examples:
today-30d,today+5d.
Dynamic computed relation fields (computed_fields[alias])
Declare ad-hoc aggregates per request using: computed_fields[<alias>] = relation.aggregate(args)
Syntax:
- Count:
relation.count()orrelation.count(<where>) - Sum/Avg/Min/Max:
relation.sum(<column>)orrelation.sum(<column>, <where>)
Where is written using the same Filter DSL and is validated against the relation's allowed fields.
Use the prefix computed_fields. when referencing these aliases in filter or sort, e.g., filter=computed_fields.tasks_done gte 1 or sort=-computed_fields.tasks_done. Bare aliases are accepted for backward compatibility but deprecated.
Allowed relations for computed_fields (deny-all by default):
- line_items (→ lineItems): aggregates: count, sum, avg, min, max; coalesce default: 0
- external_costs (→ internalCosts): aggregates: count, sum, avg, min, max; coalesce default: 0
Example: ?computed_fields[tasks_done]=tasks.count(status%20eq%20%22Completed%22)&filter=computed_fields.tasks_done%20gt%200
- https://api.kanbert.com/api/v1/outgoing-invoices/master
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.kanbert.com/api/v1/outgoing-invoices/master?sort=sort%3D-created_at%2Ctitle&include=string&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&computed_fields%5Balias%5D=computed_fields%5Btasks_done%5D%3Dtasks.count%28status%2520eq%2520%2522Completed%2522%29' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'The cursor paginated collection of OutgoingInvoiceMasterData
The list of items
once If type is once, then the master is a partial plan |
recurring1 Recurring every month |
recurring3 Recurring every 3 months |
recurring6 Recurring every 6 months |
recurring12 Recurring every 12 months |
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Is not calculated with invoices partial_factor in mind
If true this discount was granted due to payment discount rules
Is always the full price of the unit (without partial_factor) See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Value in percent. Describes the part of the unit that is included in the invoice
If true, the unit will be excluded from offer-wide discounts
If true, the amount will multiply discount absolute
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
If true, purchase_amount will be in sync with amount
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
For partial invoices external costs will be empty - these are part of the invoice master plan
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }
- https://api.kanbert.com/api/v1/outgoing-invoices/master/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.kanbert.com/api/v1/outgoing-invoices/master/{id}?find_by=id&origin=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OutgoingInvoiceMasterData
once If type is once, then the master is a partial plan |
recurring1 Recurring every month |
recurring3 Recurring every 3 months |
recurring6 Recurring every 6 months |
recurring12 Recurring every 12 months |
Can be used to add an identifier to the client from an external system, must be unique
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Can be used to add an identifier to the client from an external system, must be unique
Can be used to add an identifier to the project from an external system, must be unique
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Is not calculated with invoices partial_factor in mind
If true this discount was granted due to payment discount rules
Is always the full price of the unit (without partial_factor) See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Value in percent. Describes the part of the unit that is included in the invoice
If true, the unit will be excluded from offer-wide discounts
If true, the amount will multiply discount absolute
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
If true, purchase_amount will be in sync with amount
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
For partial invoices external costs will be empty - these are part of the invoice master plan
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
{ "id": "string", "title": "string", "type": "once", "performance_range_start": "2019-08-24T14:15:22Z", "performance_range_end": "2019-08-24T14:15:22Z", "locale": "string", "currency": "string", "address": "string", "address_changed": true, "company": { "id": "string", "external_id": "string", "external_origin": "string", "vendor_identifier": "string", "company_name": "string", "locale": "string", "tax_uid": "string", "taxation_enabled": true, "iban": "string", "bic": "string", "email": "string", "email_general": "string", "phone": "string", "fax": "string", "homepage": "string", "invoices_by_post": false, "invoices_by_email": false, "business_field": { … }, "company_size": { … }, "company_revenue": { … }, "person_attention_to": "string", "address_invoice_title": "string", "address_invoice_street": "string", "address_invoice_house": "string", "address_invoice_street2": "string", "address_invoice_zip": "string", "address_invoice_state": "string", "address_invoice_town": "string", "address_invoice_country": { … }, "address_invoice_is_delivery": true, "delivery_person_attention_to": "string", "address_delivery_title": "string", "address_delivery_street": "string", "address_delivery_house": "string", "address_delivery_street2": "string", "address_delivery_zip": "string", "address_delivery_state": "string", "address_delivery_town": "string", "address_delivery_country": { … }, "client": { … }, "tags": [ … ], "contacts": [ … ], "custom_fields": "['custom_field_1' => 'value', 'custom_field_2' => true]", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "contact_company": { … } }, "editor": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "client": { "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { … }, "origin_space": { … } }, "project": { "id": "string", "external_id": "string", "external_origin": "string", "title": "string", "shortcode": "string", "po_number": "string", "project_type": { … }, "status": "string", "is_acquisition": true, "is_private": true, "start_date": "2019-08-24", "end_date": "2019-08-24", "client": { … }, "tags": [ … ], "custom_fields": "['custom_field_1' => 'value', 'custom_field_2' => true]", "origin_space": { … }, "team": [ … ], "guests": [ … ], "computed_fields": { … } }, "taxation_enabled": true, "sum_net": 0, "sum_tax": 0, "sum_gross": 0, "sum_external_costs": 0, "payment_discount": 0, "discounts": [ { … } ], "line_items": [ { … } ], "external_costs": [ { … } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "computed_fields": { "property1": 0, "property2": 0 } }
- https://api.kanbert.com/api/v1/outgoing-invoices/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.kanbert.com/api/v1/outgoing-invoices/{id}?find_by=id&origin=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OutgoingInvoiceData
If invoice is part of a master invoice plan
estimate Invoice is meant as estimate |
open Invoice in draft |
bookable Invoice is ready to be booked |
booked Invoice was booked |
Can be used to add an identifier to the client from an external system, must be unique
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Can be used to add an identifier to the client from an external system, must be unique
Can be used to add an identifier to the project from an external system, must be unique
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Indicator for partial invoices <currentInvoice>/<numberOfInvoices>
Is not calculated with invoices partial_factor in mind
If true this discount was granted due to payment discount rules
Is always the full price of the unit (without partial_factor) See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Value in percent. Describes the part of the unit that is included in the invoice
If true, the unit will be excluded from offer-wide discounts
If true, the amount will multiply discount absolute
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
If true, purchase_amount will be in sync with amount
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
For partial invoices external costs will be empty - these are part of the invoice master plan
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
{ "id": "string", "external_id": "string", "external_origin": "string", "master_invoice_id": "string", "invoice_number": "string", "title": "string", "status": "estimate", "payment_status": "open", "is_credit": false, "date_of_invoice": "2019-08-24T14:15:22Z", "payment_due_date": "2019-08-24T14:15:22Z", "payment_due_date_org": "2019-08-24T14:15:22Z", "performance_range_start": "2019-08-24T14:15:22Z", "performance_range_end": "2019-08-24T14:15:22Z", "po_number": "string", "reference": "string", "locale": "string", "currency": "string", "address": "string", "address_changed": true, "company": { "id": "string", "external_id": "string", "external_origin": "string", "vendor_identifier": "string", "company_name": "string", "locale": "string", "tax_uid": "string", "taxation_enabled": true, "iban": "string", "bic": "string", "email": "string", "email_general": "string", "phone": "string", "fax": "string", "homepage": "string", "invoices_by_post": false, "invoices_by_email": false, "business_field": { … }, "company_size": { … }, "company_revenue": { … }, "person_attention_to": "string", "address_invoice_title": "string", "address_invoice_street": "string", "address_invoice_house": "string", "address_invoice_street2": "string", "address_invoice_zip": "string", "address_invoice_state": "string", "address_invoice_town": "string", "address_invoice_country": { … }, "address_invoice_is_delivery": true, "delivery_person_attention_to": "string", "address_delivery_title": "string", "address_delivery_street": "string", "address_delivery_house": "string", "address_delivery_street2": "string", "address_delivery_zip": "string", "address_delivery_state": "string", "address_delivery_town": "string", "address_delivery_country": { … }, "client": { … }, "tags": [ … ], "contacts": [ … ], "custom_fields": "['custom_field_1' => 'value', 'custom_field_2' => true]", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "contact_company": { … } }, "editor": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "client": { "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { … }, "origin_space": { … } }, "project": { "id": "string", "external_id": "string", "external_origin": "string", "title": "string", "shortcode": "string", "po_number": "string", "project_type": { … }, "status": "string", "is_acquisition": true, "is_private": true, "start_date": "2019-08-24", "end_date": "2019-08-24", "client": { … }, "tags": [ … ], "custom_fields": "['custom_field_1' => 'value', 'custom_field_2' => true]", "origin_space": { … }, "team": [ … ], "guests": [ … ], "computed_fields": { … } }, "taxation_enabled": true, "sum_net": 0, "sum_tax": 0, "sum_gross": 0, "sum_external_costs": 0, "partial_indent": "1/2", "partial_factor": 0, "payment_discount_due_date": "2019-08-24T14:15:22Z", "payment_discount": 0, "discounts": [ { … } ], "line_items": [ { … } ], "external_costs": [ { … } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "computed_fields": { "property1": 0, "property2": 0 } }
Available sorts are title, price, total_net_base, total_net_without_discount, total_net, total_gross_base, total_gross_without_discount, total_gross, purchase_total, purchase_total_base, purchase_price, created_at, updated_at.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.
Allowed filter fields (with allowed operators):
| Field | Type | Operators |
|---|---|---|
title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
price | float | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull |
amount | float | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull |
tax_factor | float | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull |
project.id | id<ProjectData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
project.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
project.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
total_net_base | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
total_net_without_discount | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
total_net | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
total_gross_base | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
total_gross_without_discount | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
total_gross | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
purchase_price | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
purchase_total_base | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
purchase_total | currency | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, contains, like, startswith, endswith, isnull, isnotnull, notnull |
type | enum<AccountingLineItemType> | eq, ne, neq, in, nin, notin |
metric.id | id<MetricData> | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull |
metric.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull |
Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.
You can check the full syntax at Docs Filtering section.
Special values:
- me.id — current authenticated user id (usable on fields of type id). Example:
id eq me.id - now — current date-time. Example:
dueOn lt now - sow/eow — start/end of week. Examples:
dueOn gt sow,dueOn lt eow - som/eom — start/end of month. Examples:
dueOn gt som,dueOn lt eom - today — special date for today; with eq it expands to the whole day range. Example:
dueOn eq today - today±Nd — relative day offset. Examples:
today-30d,today+5d.
- https://api.kanbert.com/api/v1/outgoing-invoices/{id}/line-items
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.kanbert.com/api/v1/outgoing-invoices/{id}/line-items?find_by=id&origin=string&sort=sort%3D-created_at%2Ctitle&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'The cursor paginated collection of OutgoingInvoiceLineItemData
The list of items
Is always the full price of the unit (without partial_factor) See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Value in percent. Describes the part of the unit that is included in the invoice
If true, the unit will be excluded from offer-wide discounts
If true, the amount will multiply discount absolute
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
If true, purchase_amount will be in sync with amount
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }
Can be used to add an identifier from an external system, must be unique within integration (integration's slug)
Required if status is booked.
We do check whether an invoice with the same invoice_number exists already.
We do not check if the invoice interferes with invoice number cycles in Kanbert.
A public url to download the invoice PDF from - either file_url or file are required
- https://api.kanbert.com/api/v1/outgoing-invoices/external
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.kanbert.com/api/v1/outgoing-invoices/external \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: multipart/form-data' \
-F external_id=string \
-F external_origin=string \
-F client_id=string \
-F title=string \
-F status=booked \
-F invoice_number=string \
-F date_of_invoice=2019-08-24T14:15:22Z \
-F performance_range_start=2019-08-24T14:15:22Z \
-F performance_range_end=2019-08-24T14:15:22Z \
-F payment_due_date=2019-08-24T14:15:22Z \
-F booked_at=2019-08-24T14:15:22Z \
-F currency=EUR \
-F sum_net=0 \
-F sum_tax=0 \
-F taxation_enabled=true \
-F is_credit=true \
-F address=string \
-F reference=string \
-F po_number=string \
-F project_id=string \
-F company_id=string \
-F editor_id=string \
-F file_url=http://example.com \
-F file=string \
-F 'vats[0][vat]=0' \
-F 'vats[0][value]=0'OutgoingInvoiceData
If invoice is part of a master invoice plan
estimate Invoice is meant as estimate |
open Invoice in draft |
bookable Invoice is ready to be booked |
booked Invoice was booked |
Can be used to add an identifier to the client from an external system, must be unique
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Can be used to add an identifier to the client from an external system, must be unique
Can be used to add an identifier to the project from an external system, must be unique
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Indicator for partial invoices <currentInvoice>/<numberOfInvoices>
Is not calculated with invoices partial_factor in mind
If true this discount was granted due to payment discount rules
Is always the full price of the unit (without partial_factor) See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
Including unit discount (not invoice discounts) and partial_factor
See partial_factor if element is part of an partial invoice
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Value in percent. Describes the part of the unit that is included in the invoice
If true, the unit will be excluded from offer-wide discounts
If true, the amount will multiply discount absolute
Excluding partial_factor and all discounts
See partial_factor if element is part of an partial invoice
Including partial_factor, excluding all discounts
See partial_factor if element is part of an partial invoice
If true, purchase_amount will be in sync with amount
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
For partial invoices external costs will be empty - these are part of the invoice master plan
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the project from an external system, must be unique
If originated from external system origin is added
Can be used to add an identifier to the client from an external system, must be unique
If originated from external system origin is added
The key is the field name for your custom field, value type depends on the field type
Interval if payment partial type is monthly or `yearly
| Type | Interval | Description |
|---|---|---|
once | any | Once per offer |
monthly | 1 | Every month in performance range |
monthly | 3 | Every 3 months in performance range |
monthly | 6 | Every 6 monthsin performance range |
yearly | 1 | Every year in performance range |
yearly | 3 | Every 3 years in performance range |
yearly | 6 | Every 6 years in performance range |
{ "id": "string", "external_id": "string", "external_origin": "string", "master_invoice_id": "string", "invoice_number": "string", "title": "string", "status": "estimate", "payment_status": "open", "is_credit": false, "date_of_invoice": "2019-08-24T14:15:22Z", "payment_due_date": "2019-08-24T14:15:22Z", "payment_due_date_org": "2019-08-24T14:15:22Z", "performance_range_start": "2019-08-24T14:15:22Z", "performance_range_end": "2019-08-24T14:15:22Z", "po_number": "string", "reference": "string", "locale": "string", "currency": "string", "address": "string", "address_changed": true, "company": { "id": "string", "external_id": "string", "external_origin": "string", "vendor_identifier": "string", "company_name": "string", "locale": "string", "tax_uid": "string", "taxation_enabled": true, "iban": "string", "bic": "string", "email": "string", "email_general": "string", "phone": "string", "fax": "string", "homepage": "string", "invoices_by_post": false, "invoices_by_email": false, "business_field": { … }, "company_size": { … }, "company_revenue": { … }, "person_attention_to": "string", "address_invoice_title": "string", "address_invoice_street": "string", "address_invoice_house": "string", "address_invoice_street2": "string", "address_invoice_zip": "string", "address_invoice_state": "string", "address_invoice_town": "string", "address_invoice_country": { … }, "address_invoice_is_delivery": true, "delivery_person_attention_to": "string", "address_delivery_title": "string", "address_delivery_street": "string", "address_delivery_house": "string", "address_delivery_street2": "string", "address_delivery_zip": "string", "address_delivery_state": "string", "address_delivery_town": "string", "address_delivery_country": { … }, "client": { … }, "tags": [ … ], "contacts": [ … ], "custom_fields": "['custom_field_1' => 'value', 'custom_field_2' => true]", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "contact_company": { … } }, "editor": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "client": { "id": "string", "external_id": "string", "external_origin": "string", "name": "string", "shortcode": "string", "primary_contact": { … }, "origin_space": { … } }, "project": { "id": "string", "external_id": "string", "external_origin": "string", "title": "string", "shortcode": "string", "po_number": "string", "project_type": { … }, "status": "string", "is_acquisition": true, "is_private": true, "start_date": "2019-08-24", "end_date": "2019-08-24", "client": { … }, "tags": [ … ], "custom_fields": "['custom_field_1' => 'value', 'custom_field_2' => true]", "origin_space": { … }, "team": [ … ], "guests": [ … ], "computed_fields": { … } }, "taxation_enabled": true, "sum_net": 0, "sum_tax": 0, "sum_gross": 0, "sum_external_costs": 0, "partial_indent": "1/2", "partial_factor": 0, "payment_discount_due_date": "2019-08-24T14:15:22Z", "payment_discount": 0, "discounts": [ { … } ], "line_items": [ { … } ], "external_costs": [ { … } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "computed_fields": { "property1": 0, "property2": 0 } }
- https://api.kanbert.com/api/v1/outgoing-invoices/{id}/pdf
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.kanbert.com/api/v1/outgoing-invoices/{id}/pdf?find_by=id&origin=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'No content