Read KashFlow invoices, customers, suppliers, banking and reports; add customers, notes.
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: add a note to a sales invoice, by its InvoiceDBID (the numeric id in invoice replies). Existing notes and the invoice are not changed. SOAP InsertInvoiceNote.
The note text.
The invoice's InvoiceDBID.
Note date, yyyy-mm-dd or yyyy-mm-ddThh:mm:ss (default: now, UTC).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
WRITE: add a note to a sales invoice, by its InvoiceDBID (the numeric id in invoice replies). Existing notes and the invoice are not changed. SOAP InsertInvoiceNote.
| Argument | Type | Description |
|---|---|---|
| note* | string | The note text. |
| note_date | string | Note date, yyyy-mm-dd or yyyy-mm-ddThh:mm:ss (default: now, UTC). |
| invoice_id* | integer | The invoice's InvoiceDBID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_id",
"note"
],
"properties": {
"note": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "The note text."
},
"note_date": {
"type": "string",
"description": "Note date, yyyy-mm-dd or yyyy-mm-ddThh:mm:ss (default: now, UTC)."
},
"invoice_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The invoice's InvoiceDBID."
}
}
}WRITE: create a new customer. The code must be unique (KashFlow refuses a code that exists) and nothing existing is changed. Returns the new CustomerID. SOAP InsertCustomer.
| Argument | Type | Description |
|---|---|---|
| code* | string | A unique customer code, e.g. ACME01. |
| name* | string | The customer / company name. |
| string | ||
| notes | string | |
| mobile | string | |
| contact | string | Contact person. |
| website | string | |
| address1 | string | |
| address2 | string | |
| address3 | string | |
| address4 | string | |
| postcode | string | |
| telephone | string | |
| tax_region | string | VAT classification of the customer: uk (default, domestic), eu (EC customer) or outside_eu. Set it for customers outside the UK. |
WRITE: create a new supplier. The code must be unique (KashFlow refuses a code that exists) and nothing existing is changed. Returns the new SupplierID. SOAP InsertSupplier.
| Argument | Type | Description |
|---|---|---|
| code* | string | A unique supplier code, e.g. OFFICE01. |
| name* | string | The supplier / company name. |
| string | ||
| notes | string | |
| mobile | string | |
| contact | string | Contact person. |
| website | string | |
| address1 | string | |
| address2 | string | |
| address3 | string | |
| address4 | string | |
The customer whose e-mail address matches. SOAP GetCustomerByEmail.
| Argument | Type | Description |
|---|---|---|
| email* | string | The customer's e-mail address. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "The customer's e-mail address."
}
}
}Who you owe money to at a date (default today), aged into current, three periods and older, per supplier. SOAP GetAgedCreditors.
| Argument | Type | Description |
|---|---|---|
| date | string | Report date, yyyy-mm-dd (default today, UTC). |
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"description": "Report date, yyyy-mm-dd (default today, UTC)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}Who owes you money at a date (default today), aged into current, three periods and older, per customer. SOAP GetAgedDebtors.
| Argument | Type | Description |
|---|---|---|
| date | string | Report date, yyyy-mm-dd (default today, UTC). |
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"description": "Report date, yyyy-mm-dd (default today, UTC)."
},
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}The balance sheet at a date (default today): fixed assets, current assets, current liabilities, capital and reserves with the lines of each. SOAP GetBalanceSheet.
| Argument | Type | Description |
|---|---|---|
| date | string | Balance sheet date, yyyy-mm-dd (default today, UTC). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"description": "Balance sheet date, yyyy-mm-dd (default today, UTC)."
}
}
}The balance of one bank account on a date (default today). SOAP GetBankBalance.
| Argument | Type | Description |
|---|---|---|
| date | string | Balance date, yyyy-mm-dd (default today, UTC). |
| account_id* | integer | The bank account's AccountID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id"
],
"properties": {
"date": {
"type": "string",
"description": "Balance date, yyyy-mm-dd (default today, UTC)."
},
"account_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The bank account's AccountID."
}
}
}The KashFlow company: name, address, contact, VAT registration, currency, payment terms and business type. SOAP GetCompanyDetails.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One customer by its KashFlow customer code (the short code shown in the customer list, e.g. ACME01). SOAP GetCustomer.
| Argument | Type | Description |
|---|---|---|
| customer_code* | string | The customer code, e.g. ACME01. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_code"
],
"properties": {
"customer_code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The customer code, e.g. ACME01."
}
}
}What one customer owes: the total invoiced value and the outstanding balance. SOAP GetCustomerBalance.
| Argument | Type | Description |
|---|---|---|
| customer_code* | string | The customer code, e.g. ACME01. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_code"
],
"properties": {
"customer_code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The customer code, e.g. ACME01."
}
}
}One customer by its numeric CustomerID (as returned in other replies). SOAP GetCustomerByID.
| Argument | Type | Description |
|---|---|---|
| customer_id* | integer | The numeric CustomerID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"customer_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The numeric CustomerID."
}
}
}One sales invoice by its invoice number: customer, dates, lines (description, quantity, rate, VAT), net, VAT, amount paid and a link. SOAP GetInvoice.
| Argument | Type | Description |
|---|---|---|
| invoice_number* | integer | The invoice number, e.g. 1042. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_number"
],
"properties": {
"invoice_number": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The invoice number, e.g. 1042."
}
}
}The notes attached to one sales invoice, by its InvoiceDBID (the numeric id in invoice replies, not the invoice number). SOAP GetInvoiceNotes.
| Argument | Type | Description |
|---|---|---|
| invoice_id* | integer | The invoice's InvoiceDBID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_id"
],
"properties": {
"invoice_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The invoice's InvoiceDBID."
}
}
}Key figures for a date range (income, expenses, profit and similar, as name/value pairs). SOAP GetKPIs.
| Argument | Type | Description |
|---|---|---|
| end_date* | string | End of the period, yyyy-mm-dd. |
| start_date* | string | Start of the period, yyyy-mm-dd. |
| exclude_vat | boolean | Leave VAT out of the figures (default false). |
| exclude_same_day_payments | boolean | Leave out invoices paid the day they were issued (default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
},
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
},
"exclude_vat": {
"type": "boolean",
"description": "Leave VAT out of the figures (default false)."
},
"exclude_same_day_payments": {
"type": "boolean",
"description": "Leave out invoices paid the day they were issued (default false)."
}
}
}The profit and loss report for a date range: turnover, cost of sales, gross profit, expenses and net profit, with the lines of each section. SOAP GetProfitAndLoss.
| Argument | Type | Description |
|---|---|---|
| end_date* | string | End of the period, yyyy-mm-dd. |
| start_date* | string | Start of the period, yyyy-mm-dd. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
},
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
}
}
}One purchase (supplier invoice / receipt) by its receipt number: supplier, dates, lines, net, VAT, amount paid. SOAP GetReceipt.
| Argument | Type | Description |
|---|---|---|
| receipt_number* | integer | The purchase (receipt) number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"receipt_number"
],
"properties": {
"receipt_number": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The purchase (receipt) number."
}
}
}One supplier by its KashFlow supplier code. SOAP GetSupplier.
| Argument | Type | Description |
|---|---|---|
| supplier_code* | string | The supplier code. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"supplier_code"
],
"properties": {
"supplier_code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The supplier code."
}
}
}The trial balance for a date range: every nominal code with debit, credit and balance. SOAP GetTrialBalance.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
| end_date* | string | End of the period, yyyy-mm-dd. |
| start_date* | string | Start of the period, yyyy-mm-dd. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start_date",
"end_date"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
},
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
},
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
}
}
}The VAT return figures (boxes 1 to 9) for a period, and whether it was submitted to HMRC. SOAP GetVATReport.
| Argument | Type | Description |
|---|---|---|
| end_date* | string | End of the VAT period, yyyy-mm-dd. |
| start_date* | string | Start of the VAT period, yyyy-mm-dd. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string",
"description": "End of the VAT period, yyyy-mm-dd."
},
"start_date": {
"type": "string",
"description": "Start of the VAT period, yyyy-mm-dd."
}
}
}The bank accounts (AccountID, name, nominal code). SOAP GetBankAccounts.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The transactions of one bank account (date, money in/out, VAT, type, comment, customer/supplier), by AccountID from kashflow_list_bank_accounts, paged here. SOAP GetBankTransactions.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
| account_id* | integer | The bank account's AccountID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
},
"account_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The bank account's AccountID."
}
}
}All sales invoices of one customer, by numeric CustomerID (see kashflow_get_customer for the id), paged here. SOAP GetInvoicesForCustomer.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
| customer_id* | integer | The numeric CustomerID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
},
"customer_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The numeric CustomerID."
}
}
}All customers (name, code, contact, email, phone, address, VAT number, payment terms, notes), paged here: the reply says total and next_offset. SOAP GetCustomers.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}The payments recorded against one sales invoice (date, amount, method, bank account, note), by invoice number. SOAP GetInvoicePayment.
| Argument | Type | Description |
|---|---|---|
| invoice_number* | integer | The invoice number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"invoice_number"
],
"properties": {
"invoice_number": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The invoice number."
}
}
}Sales invoices dated within a range (inclusive; a bare end date means the end of that day), paged here. Dates are yyyy-mm-dd. SOAP GetInvoicesByDateRange.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
| end_date* | string | Last invoice date, yyyy-mm-dd. |
| start_date* | string | First invoice date, yyyy-mm-dd. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start_date",
"end_date"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
},
"end_date": {
"type": "string",
"description": "Last invoice date, yyyy-mm-dd."
},
"start_date": {
"type": "string",
"description": "First invoice date, yyyy-mm-dd."
}
}
}The chart of accounts: nominal codes with their names. SOAP GetNominalCodes.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}All sales invoices past their due date and not paid in full, paged here. SOAP GetInvoices_Overdue.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}Customer payments received within a date range (date, amount, invoice, method, bank account). KashFlow returns them a page at a time: set page_number 1, 2, ... until a page comes back empty. Dates are yyyy-mm-dd. SOAP GetInvoicePaymentsByDateRange.
| Argument | Type | Description |
|---|---|---|
| end_date* | string | Last payment date, yyyy-mm-dd. |
| start_date* | string | First payment date, yyyy-mm-dd. |
| page_number | integer | Page number, starting at 1 (default 1). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string",
"description": "Last payment date, yyyy-mm-dd."
},
"start_date": {
"type": "string",
"description": "First payment date, yyyy-mm-dd."
},
"page_number": {
"type": "integer",
"maximum": 100000,
"minimum": 1,
"description": "Page number, starting at 1 (default 1)."
}
}
}The product catalogue (name, code, description, price, stock level), paged here. SOAP GetProducts.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}The projects defined in the account (id, name). SOAP GetProjects.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}All sales quotes (same shape as invoices), paged here. SOAP GetQuotes.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}The most recently created sales invoices. SOAP GetInvoices_Recent.
| Argument | Type | Description |
|---|---|---|
| count | integer | How many invoices (default 20, max 500). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"count": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many invoices (default 20, max 500)."
}
}
}The most recently created purchases (supplier invoices / receipts). SOAP GetReceipts_Recent.
| Argument | Type | Description |
|---|---|---|
| count | integer | How many purchases (default 20, max 500). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"count": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many purchases (default 20, max 500)."
}
}
}All purchases (supplier invoices / receipts) of one supplier, by numeric SupplierID (see kashflow_get_supplier), paged here. SOAP GetReceiptsForSupplier.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
| supplier_id* | integer | The numeric SupplierID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"supplier_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
},
"supplier_id": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "The numeric SupplierID."
}
}
}All suppliers (name, code, contact, email, phone, address, VAT number, payment terms), paged here: the reply says total and next_offset. SOAP GetSuppliers.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}All sales invoices not yet paid in full, paged here. SOAP GetInvoices_Unpaid.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return (default 100, max 500). |
| offset | integer | How many records to skip (default 0), to get the next page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "How many records to return (default 100, max 500)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "How many records to skip (default 0), to get the next page."
}
}
}The VAT rates set up in the account. SOAP GetVATRates.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}| vat_number | string |
| country_code | string | Two-letter ISO country code, e.g. GB. |
| country_name | string | Country name, e.g. United Kingdom. |
| payment_terms_days | integer | Payment terms in days. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A unique customer code, e.g. ACME01."
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The customer / company name."
},
"email": {
"type": "string",
"maxLength": 254
},
"notes": {
"type": "string",
"maxLength": 5000
},
"mobile": {
"type": "string",
"maxLength": 50
},
"contact": {
"type": "string",
"maxLength": 200,
"description": "Contact person."
},
"website": {
"type": "string",
"maxLength": 200
},
"address1": {
"type": "string",
"maxLength": 200
},
"address2": {
"type": "string",
"maxLength": 200
},
"address3": {
"type": "string",
"maxLength": 200
},
"address4": {
"type": "string",
"maxLength": 200
},
"postcode": {
"type": "string",
"maxLength": 20
},
"telephone": {
"type": "string",
"maxLength": 50
},
"tax_region": {
"enum": [
"uk",
"eu",
"outside_eu"
],
"type": "string",
"description": "VAT classification of the customer: uk (default, domestic), eu (EC customer) or outside_eu. Set it for customers outside the UK."
},
"vat_number": {
"type": "string",
"maxLength": 50
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter ISO country code, e.g. GB."
},
"country_name": {
"type": "string",
"maxLength": 100,
"description": "Country name, e.g. United Kingdom."
},
"payment_terms_days": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Payment terms in days."
}
}
}| postcode |
| string |
| telephone | string |
| vat_number | string |
| eu_supplier | boolean | True for a supplier in another EU country (EC supplier). Default false (UK). |
| payment_terms_days | integer | Payment terms in days. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A unique supplier code, e.g. OFFICE01."
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The supplier / company name."
},
"email": {
"type": "string",
"maxLength": 254
},
"notes": {
"type": "string",
"maxLength": 5000
},
"mobile": {
"type": "string",
"maxLength": 50
},
"contact": {
"type": "string",
"maxLength": 200,
"description": "Contact person."
},
"website": {
"type": "string",
"maxLength": 200
},
"address1": {
"type": "string",
"maxLength": 200
},
"address2": {
"type": "string",
"maxLength": 200
},
"address3": {
"type": "string",
"maxLength": 200
},
"address4": {
"type": "string",
"maxLength": 200
},
"postcode": {
"type": "string",
"maxLength": 20
},
"telephone": {
"type": "string",
"maxLength": 50
},
"vat_number": {
"type": "string",
"maxLength": 50
},
"eu_supplier": {
"type": "boolean",
"description": "True for a supplier in another EU country (EC supplier). Default false (UK)."
},
"payment_terms_days": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Payment terms in days."
}
}
}