Read e-Boekhouden relations, invoices, ledgers, bookings and products; create relations, invoices.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a sales invoice for a relation. PERMANENT: the API cannot change or delete invoices afterwards, and an invoice number is used up. The invoice is created only: it is NOT e-mailed to the customer, NOT booked as a mutation and no direct debit is set. Needs relation_id, template_id (eboekhouden_list_invoice_templates), term_of_payment in days and at least one item with a ledger_id. Returns the new id and invoice number. POST /v1/invoice.
1-200 invoice items.
The relation id (from eboekhouden_list_relations).
The invoice template id (from eboekhouden_list_invoice_templates).
Payment term in days.
Invoice date yyyy-mm-dd (default today).
Text on the invoice.
Whether price_per_unit includes (IN) or excludes (EX) VAT.
Payment reference.
Invoice number; must end with a number. Generated when omitted.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Create a sales invoice for a relation. PERMANENT: the API cannot change or delete invoices afterwards, and an invoice number is used up. The invoice is created only: it is NOT e-mailed to the customer, NOT booked as a mutation and no direct debit is set. Needs relation_id, template_id (eboekhouden_list_invoice_templates), term_of_payment in days and at least one item with a ledger_id. Returns the new id and invoice number. POST /v1/invoice.
| Argument | Type | Description |
|---|---|---|
| date | string | Invoice date yyyy-mm-dd (default today). |
| text | string | Text on the invoice. |
| items* | array | 1-200 invoice items. |
| in_ex_vat | string | Whether price_per_unit includes (IN) or excludes (EX) VAT. |
| reference | string | Payment reference. |
| relation_id* | integer | The relation id (from eboekhouden_list_relations). |
| template_id* | integer | The invoice template id (from eboekhouden_list_invoice_templates). |
| invoice_number | string | Invoice number; must end with a number. Generated when omitted. |
| term_of_payment* | integer | Payment term in days. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"relation_id",
"template_id",
"term_of_payment",
"items"
],
"properties": {
"date": {
"type": "string",
"description": "Invoice date yyyy-mm-dd (default today)."
},
"text": {
"type": "string",
"maxLength": 35000,
"description": "Text on the invoice."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"vat_code",
"ledger_id"
],
"properties": {
"code": {
"type": "string",
"maxLength": 50,
"description": "Item code."
},
"unit_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Unit id from eboekhouden_list_units."
},
"quantity": {
"type": "number",
"maximum": 1000000000,
"description": "Quantity, up to 4 decimals (default 1).",
"exclusiveMinimum": 0
},
"vat_code": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{1,29}$",
"description": "VAT code of the account's country. NL sale: HOOG_VERK_21 (21%), LAAG_VERK_9 (9%), VERL_VERK (reverse charge), BU_EU_VERK, BI_EU_VERK, AFST_VERK, AFW_VERK (divergent, needs vat_amount). BE sale: BE_21_VERK, BE_12_VERK, BE_6_VERK, BE_0_VERK, BE_IC_VERK, BE_EXP_VERK. GEEN = no VAT."
},
"ledger_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Ledger (revenue account) id from eboekhouden_list_ledgers."
},
"product_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "An existing product id (from eboekhouden_list_products); then code is ignored."
},
"vat_amount": {
"type": "number",
"maximum": 1000000000,
"minimum": -1000000000,
"description": "VAT amount of the item; only with vat_code AFW_VERK."
},
"description": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "Item description."
},
"cost_center_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Cost center id from eboekhouden_list_cost_centers."
},
"price_per_unit": {
"type": "number",
"maximum": 1000000000,
"minimum": -1000000000,
"description": "Price per unit: excluding VAT when in_ex_vat is EX (default), including VAT when IN."
},
"discount_amount": {
"type": "number",
"maximum": 1000000000,
"minimum": 0,
"description": "Fixed discount on price_per_unit (not with discount_percentage)."
},
"discount_percentage": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percentage discount (not with discount_amount)."
}
}
},
"maxItems": 200,
"minItems": 1,
"description": "1-200 invoice items."
},
"in_ex_vat": {
"enum": [
"IN",
"EX"
],
"type": "string",
"description": "Whether price_per_unit includes (IN) or excludes (EX) VAT."
},
"reference": {
"type": "string",
"maxLength": 50,
"description": "Payment reference."
},
"relation_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The relation id (from eboekhouden_list_relations)."
},
"template_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The invoice template id (from eboekhouden_list_invoice_templates)."
},
"invoice_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Invoice number; must end with a number. Generated when omitted."
},
"term_of_payment": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Payment term in days."
}
}
}Create a product or service. Needs code, description, a sale VAT code and a ledger id, and exactly one of price_excl or price_incl. Returns the new id. POST /v1/product.
| Argument | Type | Description |
|---|---|---|
| vat* | string | Sale VAT code of the account's country, e.g. HOOG_VERK_21, LAAG_VERK_9, BE_21_VERK or GEEN (purchase codes are refused by the API). |
| code* | string | Product code (max 20). |
| active | boolean | Whether the product is active. |
| unit_id | integer | Unit id from eboekhouden_list_units. |
| group_id | integer | Product group id from eboekhouden_list_product_groups. |
| ledger_id* | integer | Revenue ledger id (from eboekhouden_list_ledgers). |
| price_excl | number | Price excluding VAT (not with price_incl). |
| price_incl | number | Price including VAT (not with price_excl). |
Create a new relation (customer or supplier) in the administration. Only name is required; the code is generated when omitted. Returns the new id and code. POST /v1/relation.
| Argument | Type | Description |
|---|---|---|
| bic | string | |
| city | string | |
| code | string | Relation code (max 15; generated when empty on create). |
| iban | string | |
| name* | string | The (company) name (max 100). |
| note | string | |
| type | string | Business (B, default) or Private (P). |
| gender | string | m = male, v = female, a = department. |
| address | string | |
| contact | string | Contact person. |
One cost center. GET /v1/costcenter/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The cost center id (from eboekhouden_list_cost_centers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The cost center id (from eboekhouden_list_cost_centers)."
}
}
}One invoice with its items, amounts and relation. GET /v1/invoice/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The invoice id (from eboekhouden_list_invoices). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The invoice id (from eboekhouden_list_invoices)."
}
}
}One ledger account. GET /v1/ledger/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The ledger id (from eboekhouden_list_ledgers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The ledger id (from eboekhouden_list_ledgers)."
}
}
}The balance of one ledger, optionally per cost center and for a period (from/to). GET /v1/ledger/{id}/balance.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The ledger id (from eboekhouden_list_ledgers). |
| to | string | The balance at this date, inclusive (default today). |
| from | string | Balance over the period starting at this date (the difference), instead of the actual balance. |
| cost_center_id | integer | Only mutations of this cost center. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The ledger id (from eboekhouden_list_ledgers)."
},
"to": {
"type": "string",
"description": "The balance at this date, inclusive (default today)."
},
"from": {
"type": "string",
"description": "Balance over the period starting at this date (the difference), instead of the actual balance."
},
"cost_center_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Only mutations of this cost center."
}
}
}One member; only available to clubs and associations. GET /v1/member/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The member id (from eboekhouden_list_members). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The member id (from eboekhouden_list_members)."
}
}
}One mutation with its rows (ledger, VAT code, amount, relation, invoice number). GET /v1/mutation/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The mutation number (from eboekhouden_list_mutations). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "The mutation number (from eboekhouden_list_mutations)."
}
}
}One product with price, VAT code, ledger, unit and stock setting. GET /v1/product/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The product id (from eboekhouden_list_products). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The product id (from eboekhouden_list_products)."
}
}
}One relation with all its fields (addresses, e-mail addresses, VAT and KvK number, IBAN, payment term, ledger). GET /v1/relation/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The relation id (from eboekhouden_list_relations). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The relation id (from eboekhouden_list_relations)."
}
}
}List cost centers (kostenplaatsen), optionally by parent id or description. Paged: pass next_offset as offset. GET /v1/costcenter.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| parent_id | string | Parent cost center id. |
| description | string | Description. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"parent_id": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Parent cost center id."
},
"description": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Description."
}
}
}List e-mail templates. Paged: pass next_offset as offset. GET /v1/emailtemplate.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-2000 (default 50). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
}
}
}List invoice templates (the template_id for eboekhouden_create_invoice), optionally by name, type (E editor, A advanced) or active. Paged: pass next_offset as offset. GET /v1/invoicetemplate.
| Argument | Type | Description |
|---|---|---|
| name | string | Template name. |
| type | string | Editor (E) or advanced (A). |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| active | boolean | Only active (true) or inactive (false) templates. |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Template name."
},
"type": {
"enum": [
"E",
"A"
],
"type": "string",
"description": "Editor (E) or advanced (A)."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"active": {
"type": "boolean",
"description": "Only active (true) or inactive (false) templates."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
}
}
}Search the invoices created in the invoicing module, by invoice number, relation or date (exact, or from/to). Paged: pass next_offset as offset. GET /v1/invoice.
| Argument | Type | Description |
|---|---|---|
| date | string | Only this exact date (yyyy-mm-dd). |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| date_to | string | Up to this date, inclusive (yyyy-mm-dd). |
| date_from | string | From this date, inclusive (yyyy-mm-dd). |
| relation_id | integer | Only invoices of this relation. |
| invoice_number | string | Invoice number. |
The balances of all ledgers (a trial balance), optionally per cost center and for a period (from/to). GET /v1/ledger/balances.
| Argument | Type | Description |
|---|---|---|
| to | string | The balance at this date, inclusive (default today). |
| from | string | Balance over the period starting at this date (the difference), instead of the actual balance. |
| cost_center_id | integer | Only mutations of this cost center. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"description": "The balance at this date, inclusive (default today)."
},
"from": {
"type": "string",
"description": "Balance over the period starting at this date (the difference), instead of the actual balance."
},
"cost_center_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Only mutations of this cost center."
}
}
}The ledger accounts (grootboekrekeningen): id, code, description and category (BAL balance, VW profit and loss, FIN, DEB, CRED, AF6, AF19, AFOVERIG, VOOR, BTWRC, AF). Use the id as ledger_id in other tools. Paged: pass next_offset as offset. GET /v1/ledger.
| Argument | Type | Description |
|---|---|---|
| code | string | Ledger code. |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| category | string | Category, e.g. BAL, VW, FIN, DEB, CRED. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"code": {
"type": "string",
"maxLength": 10,
"minLength": 1,
"description": "Ledger code."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"category": {
"type": "string",
"maxLength": 10,
"minLength": 1,
"description": "Category, e.g. BAL, VW, FIN, DEB, CRED."
}
}
}List members; only available to clubs and associations (others get error MEM_056). Paged: pass next_offset as offset. GET /v1/member.
| Argument | Type | Description |
|---|---|---|
| city | string | City. |
| name | string | Name. |
| string | E-mail address. | |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| member_number | string | Member number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "City."
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Name."
},
"email": {
"type": "string",
"maxLength": 150,
"minLength": 1,
"description": "E-mail address."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"member_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Member number."
}
}
}Search the bookkeeping mutations: type 1 invoice received, 2 invoice sent, 3 invoice payment received, 4 invoice payment sent, 5 money received, 6 money sent, 7 general journal entry. Filter by type, mutation number, description, invoice number or date. Paged: pass next_offset as offset. GET /v1/mutation.
| Argument | Type | Description |
|---|---|---|
| id | integer | Mutation number. |
| date | string | Only this exact date (yyyy-mm-dd). |
| type | integer | Mutation type 1-7 (1 invoice received, 2 invoice sent, 3 payment received, 4 payment sent, 5 money received, 6 money sent, 7 journal entry). |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| date_to | string | Up to this date, inclusive (yyyy-mm-dd). |
| date_from | string |
Open (unpaid) invoices: debtors (D, sales invoices customers still owe) or creditors (C, purchase invoices still to be paid). Paged: pass next_offset as offset. GET /v1/mutation/invoice/outstanding.
| Argument | Type | Description |
|---|---|---|
| kind* | string | D = debtors (customers owing you), C = creditors (suppliers you still owe). |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| invoice_number | string | Only this invoice number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"D",
"C"
],
"type": "string",
"description": "D = debtors (customers owing you), C = creditors (suppliers you still owe)."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"invoice_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Only this invoice number."
}
}
}All product groups. GET /v1/product/groups.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List products and services (articles) with price, VAT code, ledger and unit, optionally by code or group code. Paged: pass next_offset as offset. GET /v1/product.
| Argument | Type | Description |
|---|---|---|
| code | string | Product code. |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| group_code | string | Product group code (from eboekhouden_list_product_groups). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"code": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Product code."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"group_code": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Product group code (from eboekhouden_list_product_groups)."
}
}
}List relations (customers and suppliers of the administration), optionally filtered (filters combine with AND). Text filters match exactly unless match is contains or starts_with. Paged: pass next_offset as offset. GET /v1/relation.
| Argument | Type | Description |
|---|---|---|
| city | string | Primary city. |
| code | string | Relation code. |
| name | string | (Company) name. |
| type | string | Business (B) or Private (P). |
| string | E-mail address. | |
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| contact | string | Contact information. |
List product units (piece, hour, ...) with their ids. Paged: pass next_offset as offset. GET /v1/unit.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-2000 (default 50). |
| match | string | How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards). |
| offset | integer | Number of results to skip (default 0). Use next_offset from the previous reply. |
| plural | string | Plural form. |
| singular | string | Singular form. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"plural": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Plural form."
},
"singular": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Singular form."
}
}
}Change fields of an existing relation. The tool first reads the relation, then sends its current values with your changes on top (the API requires name on every update), so fields you do not pass keep their values. This overwrites the current values of the fields you pass. GET + PATCH /v1/relation/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The relation id (from eboekhouden_list_relations). |
| bic | string | |
| city | string | |
| code | string | Relation code (max 15; generated when empty on create). |
| iban | string | |
| name | string | The (company) name (max 100). |
| note | string | |
| type | string | Business (B, default) or Private (P). |
| gender | string | m = male, v = female, a = department. |
| description* |
| string |
| Product description. |
| cost_center_id | integer | Cost center id from eboekhouden_list_cost_centers. |
| in_stock_management | boolean | Include in automatic stock management. |
| purchase_price_excl | number | Purchase price excluding VAT. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code",
"description",
"vat",
"ledger_id"
],
"properties": {
"vat": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{1,29}$",
"description": "Sale VAT code of the account's country, e.g. HOOG_VERK_21, LAAG_VERK_9, BE_21_VERK or GEEN (purchase codes are refused by the API)."
},
"code": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Product code (max 20)."
},
"active": {
"type": "boolean",
"description": "Whether the product is active."
},
"unit_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Unit id from eboekhouden_list_units."
},
"group_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Product group id from eboekhouden_list_product_groups."
},
"ledger_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Revenue ledger id (from eboekhouden_list_ledgers)."
},
"price_excl": {
"type": "number",
"maximum": 999999999999,
"minimum": -999999999999,
"description": "Price excluding VAT (not with price_incl)."
},
"price_incl": {
"type": "number",
"maximum": 999999999999,
"minimum": -999999999999,
"description": "Price including VAT (not with price_excl)."
},
"description": {
"type": "string",
"maxLength": 35000,
"minLength": 1,
"description": "Product description."
},
"cost_center_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Cost center id from eboekhouden_list_cost_centers."
},
"in_stock_management": {
"type": "boolean",
"description": "Include in automatic stock management."
},
"purchase_price_excl": {
"type": "number",
"maximum": 999999999999,
"minimum": -999999999999,
"description": "Purchase price excluding VAT."
}
}
}| country |
| string |
| website | string |
| ledger_id | integer | Ledger id of this relation (from eboekhouden_list_ledgers). |
| salutation | string |
| vat_number | string |
| postal_code | string |
| phone_number | string |
| email_address | string |
| term_of_payment | integer | Default payment term in days. |
| mobile_phone_number | string |
| email_address_invoice | string | Address invoices are sent to. |
| email_address_reminder | string | Address payment reminders are sent to. |
| company_registration_number | string | Chamber of Commerce (KvK) number; digits only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"bic": {
"type": "string",
"maxLength": 20
},
"city": {
"type": "string",
"maxLength": 50
},
"code": {
"type": "string",
"maxLength": 15,
"minLength": 1,
"description": "Relation code (max 15; generated when empty on create)."
},
"iban": {
"type": "string",
"maxLength": 50
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The (company) name (max 100)."
},
"note": {
"type": "string",
"maxLength": 40000
},
"type": {
"enum": [
"B",
"P"
],
"type": "string",
"description": "Business (B, default) or Private (P)."
},
"gender": {
"enum": [
"m",
"v",
"a"
],
"type": "string",
"description": "m = male, v = female, a = department."
},
"address": {
"type": "string",
"maxLength": 150
},
"contact": {
"type": "string",
"maxLength": 50,
"description": "Contact person."
},
"country": {
"type": "string",
"maxLength": 50
},
"website": {
"type": "string",
"maxLength": 50
},
"ledger_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Ledger id of this relation (from eboekhouden_list_ledgers)."
},
"salutation": {
"type": "string",
"maxLength": 50
},
"vat_number": {
"type": "string",
"maxLength": 50
},
"postal_code": {
"type": "string",
"maxLength": 50
},
"phone_number": {
"type": "string",
"maxLength": 50
},
"email_address": {
"type": "string",
"maxLength": 150
},
"term_of_payment": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Default payment term in days."
},
"mobile_phone_number": {
"type": "string",
"maxLength": 50
},
"email_address_invoice": {
"type": "string",
"maxLength": 150,
"description": "Address invoices are sent to."
},
"email_address_reminder": {
"type": "string",
"maxLength": 150,
"description": "Address payment reminders are sent to."
},
"company_registration_number": {
"type": "string",
"maxLength": 50,
"description": "Chamber of Commerce (KvK) number; digits only."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"description": "Only this exact date (yyyy-mm-dd)."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"date_to": {
"type": "string",
"description": "Up to this date, inclusive (yyyy-mm-dd)."
},
"date_from": {
"type": "string",
"description": "From this date, inclusive (yyyy-mm-dd)."
},
"relation_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Only invoices of this relation."
},
"invoice_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Invoice number."
}
}
}| From this date, inclusive (yyyy-mm-dd). |
| description | string | Description. |
| invoice_number | string | Invoice number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Mutation number."
},
"date": {
"type": "string",
"description": "Only this exact date (yyyy-mm-dd)."
},
"type": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Mutation type 1-7 (1 invoice received, 2 invoice sent, 3 payment received, 4 payment sent, 5 money received, 6 money sent, 7 journal entry)."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"date_to": {
"type": "string",
"description": "Up to this date, inclusive (yyyy-mm-dd)."
},
"date_from": {
"type": "string",
"description": "From this date, inclusive (yyyy-mm-dd)."
},
"description": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Description."
},
"invoice_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Invoice number."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"city": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Primary city."
},
"code": {
"type": "string",
"maxLength": 15,
"minLength": 1,
"description": "Relation code."
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "(Company) name."
},
"type": {
"enum": [
"B",
"P"
],
"type": "string",
"description": "Business (B) or Private (P)."
},
"email": {
"type": "string",
"maxLength": 150,
"minLength": 1,
"description": "E-mail address."
},
"limit": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Results per page, 1-2000 (default 50)."
},
"match": {
"enum": [
"exact",
"contains",
"starts_with"
],
"type": "string",
"description": "How the text filters match: exact (default), contains or starts_with (case-insensitive wildcard match; % and ? in the text are wildcards)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Number of results to skip (default 0). Use next_offset from the previous reply."
},
"contact": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Contact information."
}
}
}| address |
| string |
| contact | string | Contact person. |
| country | string |
| website | string |
| inactive | boolean | Mark the relation inactive (true) or active (false). |
| ledger_id | integer | Ledger id of this relation (from eboekhouden_list_ledgers). |
| salutation | string |
| vat_number | string |
| postal_code | string |
| phone_number | string |
| email_address | string |
| term_of_payment | integer | Default payment term in days. |
| mobile_phone_number | string |
| email_address_invoice | string | Address invoices are sent to. |
| email_address_reminder | string | Address payment reminders are sent to. |
| company_registration_number | string | Chamber of Commerce (KvK) number; digits only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The relation id (from eboekhouden_list_relations)."
},
"bic": {
"type": "string",
"maxLength": 20
},
"city": {
"type": "string",
"maxLength": 50
},
"code": {
"type": "string",
"maxLength": 15,
"minLength": 1,
"description": "Relation code (max 15; generated when empty on create)."
},
"iban": {
"type": "string",
"maxLength": 50
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The (company) name (max 100)."
},
"note": {
"type": "string",
"maxLength": 40000
},
"type": {
"enum": [
"B",
"P"
],
"type": "string",
"description": "Business (B, default) or Private (P)."
},
"gender": {
"enum": [
"m",
"v",
"a"
],
"type": "string",
"description": "m = male, v = female, a = department."
},
"address": {
"type": "string",
"maxLength": 150
},
"contact": {
"type": "string",
"maxLength": 50,
"description": "Contact person."
},
"country": {
"type": "string",
"maxLength": 50
},
"website": {
"type": "string",
"maxLength": 50
},
"inactive": {
"type": "boolean",
"description": "Mark the relation inactive (true) or active (false)."
},
"ledger_id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Ledger id of this relation (from eboekhouden_list_ledgers)."
},
"salutation": {
"type": "string",
"maxLength": 50
},
"vat_number": {
"type": "string",
"maxLength": 50
},
"postal_code": {
"type": "string",
"maxLength": 50
},
"phone_number": {
"type": "string",
"maxLength": 50
},
"email_address": {
"type": "string",
"maxLength": 150
},
"term_of_payment": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Default payment term in days."
},
"mobile_phone_number": {
"type": "string",
"maxLength": 50
},
"email_address_invoice": {
"type": "string",
"maxLength": 150,
"description": "Address invoices are sent to."
},
"email_address_reminder": {
"type": "string",
"maxLength": 150,
"description": "Address payment reminders are sent to."
},
"company_registration_number": {
"type": "string",
"maxLength": 50,
"description": "Chamber of Commerce (KvK) number; digits only."
}
}
}