Read CashCtrl accounts, journal, orders, people, articles, salaries and reports; book and create.
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.
WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a manual book entry in the journal. Either a simple entry (debit_account_id, credit_account_id, amount) or a collective entry (items, whose debit and credit sums must match). POST /journal/create.json.
Description of the entry (max 250 characters).
Booking date, yyyy-mm-dd (CashCtrl uses today when omitted).
Lines of a collective entry. Use it instead of debit_account_id, credit_account_id and amount.
Amount of a simple entry, for example 125.50.
Tax code id of a simple entry (cashctrl_list_tax_codes).
Receipt or reference text (max 100).
The person this entry belongs to (cashctrl_list_persons).
Debit account id (cashctrl_list_accounts). For a simple entry.
Credit account id (cashctrl_list_accounts). For a simple entry.
Sequence number that generates the reference (cashctrl_list_sequence_numbers).
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.
WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a manual book entry in the journal. Either a simple entry (debit_account_id, credit_account_id, amount) or a collective entry (items, whose debit and credit sums must match). POST /journal/create.json.
| Argument | Type | Description |
|---|---|---|
| date | string | Booking date, yyyy-mm-dd (CashCtrl uses today when omitted). |
| items | array | Lines of a collective entry. Use it instead of debit_account_id, credit_account_id and amount. |
| title* | string | Description of the entry (max 250 characters). |
| amount | number | Amount of a simple entry, for example 125.50. |
| tax_id | integer | Tax code id of a simple entry (cashctrl_list_tax_codes). |
| reference | string | Receipt or reference text (max 100). |
| associate_id | integer | The person this entry belongs to (cashctrl_list_persons). |
| debit_account_id | integer | Debit account id (cashctrl_list_accounts). For a simple entry. |
| credit_account_id | integer | Credit account id (cashctrl_list_accounts). For a simple entry. |
| sequence_number_id | integer | Sequence number that generates the reference (cashctrl_list_sequence_numbers). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title"
],
"properties": {
"date": {
"type": "string",
"description": "Booking date, yyyy-mm-dd (CashCtrl uses today when omitted)."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"account_id"
],
"properties": {
"debit": {
"type": "number",
"maximum": 1000000000000,
"description": "Amount on the debit side; give debit or credit.",
"exclusiveMinimum": 0
},
"credit": {
"type": "number",
"maximum": 1000000000000,
"description": "Amount on the credit side; give debit or credit.",
"exclusiveMinimum": 0
},
"tax_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Tax code id (cashctrl_list_tax_codes).",
"exclusiveMinimum": 0
},
"account_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Account id.",
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"maxLength": 250,
"description": "Description of this line."
}
}
},
"maxItems": 100,
"minItems": 2,
"description": "Lines of a collective entry. Use it instead of debit_account_id, credit_account_id and amount."
},
"title": {
"type": "string",
"maxLength": 250,
"minLength": 1,
"description": "Description of the entry (max 250 characters)."
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"description": "Amount of a simple entry, for example 125.50.",
"exclusiveMinimum": 0
},
"tax_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Tax code id of a simple entry (cashctrl_list_tax_codes).",
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"maxLength": 100,
"description": "Receipt or reference text (max 100)."
},
"associate_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The person this entry belongs to (cashctrl_list_persons).",
"exclusiveMinimum": 0
},
"debit_account_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Debit account id (cashctrl_list_accounts). For a simple entry.",
"exclusiveMinimum": 0
},
"credit_account_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Credit account id (cashctrl_list_accounts). For a simple entry.",
"exclusiveMinimum": 0
},
"sequence_number_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sequence number that generates the reference (cashctrl_list_sequence_numbers).",
"exclusiveMinimum": 0
}
}
}WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates ONE order document for ONE customer or vendor: a quote, invoice, credit note, purchase bill and so on, depending on category_id. Without status_id the first status of the category is used; a booking status (for example Open) also creates journal entries, so use a draft status unless the user asks otherwise. No e-mail is sent. POST /order/create.json.
| Argument | Type | Description |
|---|---|---|
| nr | string | Order number. Leave empty to use the sequence number of the category. |
| date* | string | Document date, yyyy-mm-dd. |
| items* | array | 1-200 order items. |
| due_days | integer | Days until payment is due. |
| language | string | Language of the document. |
| status_id | integer | Status id (cashctrl_list_order_categories). Default: the first status of the category. |
| account_id | integer | Debtors or creditors account id; default from the category. |
| category_id |
WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a customer, vendor or other contact. Give company, first_name or last_name (at least one). Search first with cashctrl_list_persons so no duplicate is created. POST /person/create.json.
| Argument | Type | Description |
|---|---|---|
| nr | string | Person number, for example the customer number. |
| company | string | Company name. |
| vat_uid | string | VAT number (UID), for example CHE-123.456.789 MWST. |
| contacts | array | E-mail addresses, phone numbers and websites. |
| language | string | Language of documents for this person. |
| addresses | array | Addresses. |
| is_vendor | boolean | Mark as vendor. |
| last_name | string | Last name. |
| first_name | string | First name. |
WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. DELETES manual journal entries by id (entries created by orders or salary statements cannot be deleted this way). Deleted entries are gone from the books; confirm the ids with the user first. POST /journal/delete.json.
| Argument | Type | Description |
|---|---|---|
| ids* | array | 1-20 journal entry ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"description": "A journal entry id (cashctrl_list_journal).",
"exclusiveMinimum": 0
},
"maxItems": 20,
"minItems": 1,
"description": "1-20 journal entry ids."
}
}
}WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. DELETES orders (invoices, quotes, purchase documents) by id, with the journal entries they created. Deleted documents are gone; confirm the ids with the user first. POST /order/delete.json.
| Argument | Type | Description |
|---|---|---|
| ids* | array | 1-20 order ids. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"description": "An order id (cashctrl_list_orders).",
"exclusiveMinimum": 0
},
"maxItems": 20,
"minItems": 1,
"description": "1-20 order ids."
}
}
}One account of the chart of accounts by id. GET /account/read.json.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The account id (from cashctrl_list_accounts; not the account number). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The account id (from cashctrl_list_accounts; not the account number).",
"exclusiveMinimum": 0
}
}
}The balance of one account at the end of a day (default: the last day of the current fiscal period). GET /account/balance.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The account id (from cashctrl_list_accounts). |
| date | string | Balance at the end of this day, yyyy-mm-dd. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The account id (from cashctrl_list_accounts).",
"exclusiveMinimum": 0
},
"date": {
"type": "string",
"description": "Balance at the end of this day, yyyy-mm-dd."
}
}
}One inventory article by id. GET /inventory/article/read.json.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The article id (from cashctrl_list_articles). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The article id (from cashctrl_list_articles).",
"exclusiveMinimum": 0
}
}
}One book entry by id, with its items for a collective entry. GET /journal/read.json.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The journal entry id (from cashctrl_list_journal). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The journal entry id (from cashctrl_list_journal).",
"exclusiveMinimum": 0
}
}
}One order (invoice, quote, purchase document) by id, with its items, totals and status. GET /order/read.json.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The order id (from cashctrl_list_orders). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The order id (from cashctrl_list_orders).",
"exclusiveMinimum": 0
}
}
}One person or company by id, with addresses, contact data and bank accounts. GET /person/read.json.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The person id (from cashctrl_list_persons). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The person id (from cashctrl_list_persons).",
"exclusiveMinimum": 0
}
}
}The data of one report element (for example the balance sheet or the income statement) for a fiscal period or a date range. GET /report/element/data.json.
| Argument | Type | Description |
|---|---|---|
| end_date | string | End of the period, yyyy-mm-dd. |
| element_id* | integer | The report element id (from cashctrl_get_report_tree). |
| start_date | string | Start of the period, yyyy-mm-dd. |
| fiscal_period_id | integer | Fiscal period id (cashctrl_list_fiscal_periods). It replaces start_date and end_date. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"element_id"
],
"properties": {
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
},
"element_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The report element id (from cashctrl_get_report_tree).",
"exclusiveMinimum": 0
},
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
},
"fiscal_period_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Fiscal period id (cashctrl_list_fiscal_periods). It replaces start_date and end_date.",
"exclusiveMinimum": 0
}
}
}The reports set up in CashCtrl (balance sheet, income statement, and so on) as a tree of collections and elements. The element id is the input of cashctrl_get_report_data. GET /report/tree.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One payroll statement by id, with its salary items. Sensitive personal data. GET /salary/statement/read.json.
| Argument | Type | Description |
|---|---|---|
| id* | integer | The statement id (from cashctrl_list_salary_statements). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The statement id (from cashctrl_list_salary_statements).",
"exclusiveMinimum": 0
}
}
}The categories of the chart of accounts (assets, liabilities, expenses, revenue and their sub-categories). GET /account/category/list.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The chart of accounts: number, name, category and the balance for the fiscal period. Not paged. GET /account/list.json.
| Argument | Type | Description |
|---|---|---|
| dir | string | Sort direction (each list has its own default). |
| sort | string | Column to sort by (a column name of the list reply; each list has its own default). |
| query | string | Full-text search. |
| filter | array | Column filters, all must match (AND). |
| category_id | integer | Only accounts of this category (cashctrl_list_account_categories). |
| only_active | boolean | Only active accounts. |
| fiscal_period_id | integer | Fiscal period id (cashctrl_list_fiscal_periods); default is the current period. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dir": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction (each list has its own default)."
},
"sort": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column to sort by (a column name of the list reply; each list has its own default)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Full-text search."
},
"filter": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"value"
],
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column name of the list reply."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
}
]
},
"maxItems": 50
}
],
"description": "Value, or an array of values (any matches)."
},
"comparison": {
"enum": [
"eq",
"like",
"gt",
"lt"
],
"type": "string",
"description": "Default like."
}
}
},
"maxItems": 10,
"description": "Column filters, all must match (AND)."
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only accounts of this category (cashctrl_list_account_categories).",
"exclusiveMinimum": 0
},
"only_active": {
"type": "boolean",
"description": "Only active accounts."
},
"fiscal_period_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Fiscal period id (cashctrl_list_fiscal_periods); default is the current period.",
"exclusiveMinimum": 0
}
}
}Inventory articles (products and services) with number, name, price, stock and accounts. GET /inventory/article/list.json.
| Argument | Type | Description |
|---|---|---|
| dir | string | Sort direction (each list has its own default). |
| sort | string | Column to sort by (a column name of the list reply; each list has its own default). |
| limit | integer | Rows to return, 1-500 (default 100). |
| query | string | Full-text search. |
| start | integer | Index of the first row (default 0). Use next_start from the previous reply. |
| filter | array | Column filters, all must match (AND). |
| category_id | integer | Only this article category. |
| only_active | boolean | Only active articles. |
| only_restock | boolean | Only articles that need restocking. |
The bank accounts set up in CashCtrl (name, IBAN, linked ledger account). GET /account/bank/list.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The currencies set up in CashCtrl with their exchange rates. GET /currency/list.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}All fiscal periods (id, name, start, end, current flag). The id is the fiscal_period_id of the other tools. GET /fiscalperiod/list.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Book entries of the journal (date, title, debit and credit account, amount, reference), newest first, for the current fiscal period unless fiscal_period_id is set. GET /journal/list.json.
| Argument | Type | Description |
|---|---|---|
| dir | string | Sort direction (each list has its own default). |
| sort | string | Column to sort by (a column name of the list reply; each list has its own default). |
| limit | integer | Rows to return, 1-500 (default 100). |
| query | string | Full-text search. |
| start | integer | Index of the first row (default 0). Use next_start from the previous reply. |
| filter | array | Column filters, all must match (AND). |
| account_id | integer | Only entries of this account (cashctrl_list_accounts). |
| only_sales | boolean | Only entries created by sales orders. |
| only_manual | boolean |
The order categories (Quote, Invoice, Credit note, Purchase invoice and so on) with their statuses (Draft, Open, Paid) and the default accounts and sequence numbers. Use it to find category_id and status_id (type PURCHASE for purchase documents). GET /order/category/list.json.
| Argument | Type | Description |
|---|---|---|
| type | string | SALES (default) or PURCHASE categories. |
| fiscal_period_id | integer | Fiscal period id (cashctrl_list_fiscal_periods); default is the current period. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"type": {
"enum": [
"SALES",
"PURCHASE"
],
"type": "string",
"description": "SALES (default) or PURCHASE categories."
},
"fiscal_period_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Fiscal period id (cashctrl_list_fiscal_periods); default is the current period.",
"exclusiveMinimum": 0
}
}
}Sales or purchase documents (quotes, order confirmations, invoices, delivery notes, credit notes, vendor bills) with number, date, customer, status and total. Newest first. GET /order/list.json.
| Argument | Type | Description |
|---|---|---|
| dir | string | Sort direction (each list has its own default). |
| sort | string | Column to sort by (a column name of the list reply; each list has its own default). |
| type | string | SALES or PURCHASE documents. |
| limit | integer | Rows to return, 1-500 (default 100). |
| query | string | Full-text search. |
| start | integer | Index of the first row (default 0). Use next_start from the previous reply. |
| filter | array | Column filters, all must match (AND). |
| only_open | boolean | Only open (not completed) orders, for example unpaid invoices. |
| person_id | integer | Only orders of this person (cashctrl_list_persons). |
Customers, vendors, employees and other contacts (name, company, number, roles, addresses). GET /person/list.json.
| Argument | Type | Description |
|---|---|---|
| dir | string | Sort direction (each list has its own default). |
| sort | string | Column to sort by (a column name of the list reply; each list has its own default). |
| limit | integer | Rows to return, 1-500 (default 100). |
| query | string | Full-text search. |
| start | integer | Index of the first row (default 0). Use next_start from the previous reply. |
| filter | array | Column filters, all must match (AND). |
| category_id | integer | Only this person category. |
| only_active | boolean | Only active people. |
| only_vendors | boolean | Only vendors. |
| only_customers |
Payroll statements (employee, date, status, gross and net amounts), newest first. Sensitive personal data. GET /salary/statement/list.json.
| Argument | Type | Description |
|---|---|---|
| dir | string | Sort direction (each list has its own default). |
| sort | string | Column to sort by (a column name of the list reply; each list has its own default). |
| limit | integer | Rows to return, 1-500 (default 100). |
| query | string | Full-text search. |
| start | integer | Index of the first row (default 0). Use next_start from the previous reply. |
| only_open | boolean | Only open (not yet paid) statements. |
| person_id | integer | Only statements of this employee (cashctrl_list_persons). |
| only_overdue | boolean | Only statements past their payment date. |
| fiscal_period_id | integer | Fiscal period id (cashctrl_list_fiscal_periods); default is the current period. |
The number sequences (for journal references, order numbers, customer numbers). The id is the sequence_number_id of the write tools. GET /sequencenumber/list.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The VAT tax codes (id, code, name, rates). The id is the tax_id of the write tools. GET /tax/list.json.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Sets the status of 1-20 orders (for example Draft to Open, or Open to Paid). A status can book journal entries or move stock, so the books change. POST /order/update_status.json.
| Argument | Type | Description |
|---|---|---|
| ids* | array | 1-20 order ids. |
| status_id* | integer | The new status id (from the statuses of the order category, cashctrl_list_order_categories). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ids",
"status_id"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"description": "An order id (cashctrl_list_orders).",
"exclusiveMinimum": 0
},
"maxItems": 20,
"minItems": 1,
"description": "1-20 order ids."
},
"status_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The new status id (from the statuses of the order category, cashctrl_list_order_categories).",
"exclusiveMinimum": 0
}
}
}| integer |
| Order category id (cashctrl_list_order_categories), for example the Invoice category. |
| description | string | Description of the document (max 200). |
| associate_id* | integer | The customer or vendor (cashctrl_list_persons). |
| sequence_number_id | integer | Sequence number for the order number (cashctrl_list_sequence_numbers). |
| discount_percentage | number | Discount of the whole order in percent. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"category_id",
"associate_id",
"date",
"items"
],
"properties": {
"nr": {
"type": "string",
"maxLength": 50,
"description": "Order number. Leave empty to use the sequence number of the category."
},
"date": {
"type": "string",
"description": "Document date, yyyy-mm-dd."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"account_id",
"name",
"unit_price"
],
"properties": {
"name": {
"type": "string",
"maxLength": 250,
"minLength": 1,
"description": "Item name."
},
"tax_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Tax code id (cashctrl_list_tax_codes).",
"exclusiveMinimum": 0
},
"unit_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Unit id (pieces, hours; from the units of the inventory).",
"exclusiveMinimum": 0
},
"quantity": {
"type": "number",
"maximum": 1000000000,
"description": "Quantity (default 1).",
"exclusiveMinimum": 0
},
"account_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Revenue account id (sales) or expense account id (purchase), from cashctrl_list_accounts.",
"exclusiveMinimum": 0
},
"article_nr": {
"type": "string",
"maxLength": 100,
"description": "Article number."
},
"unit_price": {
"type": "number",
"maximum": 1000000000000,
"minimum": -1000000000000,
"description": "Price of one unit."
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Item description."
},
"inventory_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Inventory article id (cashctrl_list_articles).",
"exclusiveMinimum": 0
},
"discount_percentage": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Discount of this item in percent."
}
}
},
"maxItems": 200,
"minItems": 1,
"description": "1-200 order items."
},
"due_days": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Days until payment is due."
},
"language": {
"enum": [
"DE",
"EN",
"FR",
"IT"
],
"type": "string",
"description": "Language of the document."
},
"status_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Status id (cashctrl_list_order_categories). Default: the first status of the category.",
"exclusiveMinimum": 0
},
"account_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Debtors or creditors account id; default from the category.",
"exclusiveMinimum": 0
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Order category id (cashctrl_list_order_categories), for example the Invoice category.",
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"maxLength": 200,
"description": "Description of the document (max 200)."
},
"associate_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The customer or vendor (cashctrl_list_persons).",
"exclusiveMinimum": 0
},
"sequence_number_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sequence number for the order number (cashctrl_list_sequence_numbers).",
"exclusiveMinimum": 0
},
"discount_percentage": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Discount of the whole order in percent."
}
}
}| category_id | integer | Person category id. |
| is_customer | boolean | Mark as customer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"nr": {
"type": "string",
"maxLength": 50,
"description": "Person number, for example the customer number."
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Company name."
},
"vat_uid": {
"type": "string",
"maxLength": 32,
"description": "VAT number (UID), for example CHE-123.456.789 MWST."
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"address"
],
"properties": {
"type": {
"enum": [
"EMAIL_INVOICE",
"EMAIL_WORK",
"EMAIL_PRIVATE",
"PHONE_WORK",
"PHONE_PRIVATE",
"MOBILE_WORK",
"MOBILE_PRIVATE",
"WEBSITE",
"OTHER"
],
"type": "string",
"description": "Kind of contact data."
},
"address": {
"type": "string",
"maxLength": 250,
"minLength": 1,
"description": "The e-mail address, phone number or URL."
}
}
},
"maxItems": 20,
"description": "E-mail addresses, phone numbers and websites."
},
"language": {
"enum": [
"DE",
"EN",
"FR",
"IT"
],
"type": "string",
"description": "Language of documents for this person."
},
"addresses": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"zip": {
"type": "string",
"maxLength": 20,
"description": "Postal code."
},
"city": {
"type": "string",
"maxLength": 100,
"description": "City."
},
"type": {
"enum": [
"MAIN",
"INVOICE",
"DELIVERY",
"OTHER"
],
"type": "string",
"description": "Address type."
},
"address": {
"type": "string",
"maxLength": 500,
"description": "Street and number; may have several lines."
},
"country": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "Country as a 3-letter code, for example CHE, DEU, AUT."
}
}
},
"maxItems": 10,
"description": "Addresses."
},
"is_vendor": {
"type": "boolean",
"description": "Mark as vendor."
},
"last_name": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Last name."
},
"first_name": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "First name."
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Person category id.",
"exclusiveMinimum": 0
},
"is_customer": {
"type": "boolean",
"description": "Mark as customer."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dir": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction (each list has its own default)."
},
"sort": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column to sort by (a column name of the list reply; each list has its own default)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows to return, 1-500 (default 100)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Full-text search."
},
"start": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Index of the first row (default 0). Use next_start from the previous reply."
},
"filter": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"value"
],
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column name of the list reply."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
}
]
},
"maxItems": 50
}
],
"description": "Value, or an array of values (any matches)."
},
"comparison": {
"enum": [
"eq",
"like",
"gt",
"lt"
],
"type": "string",
"description": "Default like."
}
}
},
"maxItems": 10,
"description": "Column filters, all must match (AND)."
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this article category.",
"exclusiveMinimum": 0
},
"only_active": {
"type": "boolean",
"description": "Only active articles."
},
"only_restock": {
"type": "boolean",
"description": "Only articles that need restocking."
}
}
}| Only manual entries. |
| only_salary | boolean | Only entries created by salary statements. |
| associate_id | integer | Only entries of this person (cashctrl_list_persons). |
| only_imported | boolean | Only imported (bank) entries. |
| only_purchase | boolean | Only entries created by purchase orders. |
| only_collective | boolean | Only collective entries. |
| fiscal_period_id | integer | Fiscal period id (cashctrl_list_fiscal_periods); default is the current period. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dir": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction (each list has its own default)."
},
"sort": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column to sort by (a column name of the list reply; each list has its own default)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows to return, 1-500 (default 100)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Full-text search."
},
"start": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Index of the first row (default 0). Use next_start from the previous reply."
},
"filter": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"value"
],
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column name of the list reply."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
}
]
},
"maxItems": 50
}
],
"description": "Value, or an array of values (any matches)."
},
"comparison": {
"enum": [
"eq",
"like",
"gt",
"lt"
],
"type": "string",
"description": "Default like."
}
}
},
"maxItems": 10,
"description": "Column filters, all must match (AND)."
},
"account_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only entries of this account (cashctrl_list_accounts).",
"exclusiveMinimum": 0
},
"only_sales": {
"type": "boolean",
"description": "Only entries created by sales orders."
},
"only_manual": {
"type": "boolean",
"description": "Only manual entries."
},
"only_salary": {
"type": "boolean",
"description": "Only entries created by salary statements."
},
"associate_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only entries of this person (cashctrl_list_persons).",
"exclusiveMinimum": 0
},
"only_imported": {
"type": "boolean",
"description": "Only imported (bank) entries."
},
"only_purchase": {
"type": "boolean",
"description": "Only entries created by purchase orders."
},
"only_collective": {
"type": "boolean",
"description": "Only collective entries."
},
"fiscal_period_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Fiscal period id (cashctrl_list_fiscal_periods); default is the current period.",
"exclusiveMinimum": 0
}
}
}| status_id | integer | Only this status (the status ids are in cashctrl_list_order_categories). |
| category_id | integer | Only this order category (cashctrl_list_order_categories), for example Invoice. |
| only_overdue | boolean | Only orders past their due date. |
| fiscal_period_id | integer | Fiscal period id (cashctrl_list_fiscal_periods); default is the current period. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dir": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction (each list has its own default)."
},
"sort": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column to sort by (a column name of the list reply; each list has its own default)."
},
"type": {
"enum": [
"SALES",
"PURCHASE"
],
"type": "string",
"description": "SALES or PURCHASE documents."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows to return, 1-500 (default 100)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Full-text search."
},
"start": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Index of the first row (default 0). Use next_start from the previous reply."
},
"filter": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"value"
],
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column name of the list reply."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
}
]
},
"maxItems": 50
}
],
"description": "Value, or an array of values (any matches)."
},
"comparison": {
"enum": [
"eq",
"like",
"gt",
"lt"
],
"type": "string",
"description": "Default like."
}
}
},
"maxItems": 10,
"description": "Column filters, all must match (AND)."
},
"only_open": {
"type": "boolean",
"description": "Only open (not completed) orders, for example unpaid invoices."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only orders of this person (cashctrl_list_persons).",
"exclusiveMinimum": 0
},
"status_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this status (the status ids are in cashctrl_list_order_categories).",
"exclusiveMinimum": 0
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this order category (cashctrl_list_order_categories), for example Invoice.",
"exclusiveMinimum": 0
},
"only_overdue": {
"type": "boolean",
"description": "Only orders past their due date."
},
"fiscal_period_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Fiscal period id (cashctrl_list_fiscal_periods); default is the current period.",
"exclusiveMinimum": 0
}
}
}| boolean |
| Only customers. |
| only_employees | boolean | Only employees. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dir": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction (each list has its own default)."
},
"sort": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column to sort by (a column name of the list reply; each list has its own default)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows to return, 1-500 (default 100)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Full-text search."
},
"start": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Index of the first row (default 0). Use next_start from the previous reply."
},
"filter": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"value"
],
"properties": {
"field": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column name of the list reply."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
}
]
},
"maxItems": 50
}
],
"description": "Value, or an array of values (any matches)."
},
"comparison": {
"enum": [
"eq",
"like",
"gt",
"lt"
],
"type": "string",
"description": "Default like."
}
}
},
"maxItems": 10,
"description": "Column filters, all must match (AND)."
},
"category_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this person category.",
"exclusiveMinimum": 0
},
"only_active": {
"type": "boolean",
"description": "Only active people."
},
"only_vendors": {
"type": "boolean",
"description": "Only vendors."
},
"only_customers": {
"type": "boolean",
"description": "Only customers."
},
"only_employees": {
"type": "boolean",
"description": "Only employees."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dir": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction (each list has its own default)."
},
"sort": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.]{0,59}$",
"description": "Column to sort by (a column name of the list reply; each list has its own default)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Rows to return, 1-500 (default 100)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Full-text search."
},
"start": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Index of the first row (default 0). Use next_start from the previous reply."
},
"only_open": {
"type": "boolean",
"description": "Only open (not yet paid) statements."
},
"person_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only statements of this employee (cashctrl_list_persons).",
"exclusiveMinimum": 0
},
"only_overdue": {
"type": "boolean",
"description": "Only statements past their payment date."
},
"fiscal_period_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Fiscal period id (cashctrl_list_fiscal_periods); default is the current period.",
"exclusiveMinimum": 0
}
}
}