SuperFaktura MCP by usefulapi
Read SuperFaktura invoices, clients, expenses, bank and stock; create clients, expenses and drafts.
我該用這個嗎
品質與安全性
發現項目(7)
- LOW在 superfaktura_list_contact_persons 中
- LOW在 superfaktura_list_expense_categories 中
- LOW在 superfaktura_list_bank_accounts 中
- LOW在 superfaktura_list_cash_registers 中
- LOW在 superfaktura_list_stock_movements 中
- LOW在 superfaktura_get_response_by_checksum 中
- LOW在 superfaktura_add_contact_person 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"superfaktura": {
"url": "https://superfaktura.usefulapi.io/mcp"
}
}
}遠端端點
https://superfaktura.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(25)
🟢superfaktura_get_company(all_companies)
The company the API key is working in (name, IČO, DIČ, IČ DPH, address, VAT-payer flag, bank accounts) and the remaining API quota (SuperFaktura's fair-use policy is 1000 requests per day and 31000 per month; every tool call here uses one request). Good first call. With all_companies=true also the other companies the user can access (their ids are the company_id of the login). GET /users/getUserCompaniesData.
輸入結構描述
{
"type": "object",
"properties": {
"all_companies": {
"description": "true = every company the user has access to, not only the current one.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_invoices(type, status, client_id, search, variable, ...)
List issued documents with client, items, totals and payment status. type selects the document kind (default regular = ordinary invoices; also proforma, estimate = quote, order, cancel = credit note, delivery, draft, reverse_order; several allowed). Without a date filter SuperFaktura returns only the CURRENT YEAR; use created_period='all' or a date range for older ones. status: issued, partially_paid, paid, overdue. search matches client name, number, VS ... Paged: pass next_page as page. GET /invoices/index.json.
輸入結構描述
{
"type": "object",
"properties": {
"type": {
"description": "Document types (default: regular).",
"minItems": 1,
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"enum": [
"regular",
"proforma",
"estimate",
"order",
"cancel",
"delivery",
"draft",
"reverse_order"
]
}
},
"status": {
"description": "Payment status.",
"type": "string",
"enum": [
"issued",
"partially_paid",
"paid",
"overdue"
]
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Only documents of this client (superfaktura_list_clients)."
},
"search": {
"description": "Text to search for (matched by SuperFaktura in names, numbers, e-mails ... of the records).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"variable": {
"description": "Variable symbol.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"invoice_no": {
"description": "Formatted document number, e.g. 2026001.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"order_no": {
"description": "Order number the document was created from.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"amount_from": {
"description": "Minimum amount.",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"amount_to": {
"description": "Maximum amount.",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"created_period": {
"description": "Issue date as a period (default this_year when no date filter is given).",
"type": "string",
"enum": [
"all",
"today",
"yesterday",
"this_week",
"this_month",
"last_month",
"this_quarter",
"last_quarter",
"this_year",
"last_year"
]
},
"created_since": {
"description": "Issued on or after (yyyy-mm-dd).",
"type": "string"
},
"created_to": {
"description": "Issued on or before (yyyy-mm-dd).",
"type": "string"
},
"modified_period": {
"description": "Last changed in this period.",
"type": "string",
"enum": [
"all",
"today",
"yesterday",
"this_week",
"this_month",
"last_month",
"this_quarter",
"last_quarter",
"this_year",
"last_year"
]
},
"direction": {
"description": "Sort direction (default DESC).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (the account's profile default when omitted).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_get_invoice(invoice_id)
One document (invoice, proforma, quote ...) with its header (number, dates, status, amounts, currency, symbols, comments), client, items, VAT summary, payments and related documents. The public access token and payment links of the document are not returned. GET /invoices/view/{id}.json.
輸入結構描述
{
"type": "object",
"properties": {
"invoice_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Invoice id (the id of a superfaktura_list_invoices row)."
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_clients(search, created_period, modified_period, direction, page, ...)
List the address book (clients and suppliers) with contact data and totals. search matches name, IČO, DIČ, IČ DPH, bank account, e-mail, address, city, phone, note and tags. Paged: pass next_page as page. GET /clients/index.json.
輸入結構描述
{
"type": "object",
"properties": {
"search": {
"description": "Text to search for (matched by SuperFaktura in names, numbers, e-mails ... of the records).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"created_period": {
"description": "Created in this period.",
"type": "string",
"enum": [
"all",
"today",
"yesterday",
"this_week",
"this_month",
"last_month",
"this_quarter",
"last_quarter",
"this_year",
"last_year"
]
},
"modified_period": {
"description": "Changed in this period.",
"type": "string",
"enum": [
"all",
"today",
"yesterday",
"this_week",
"this_month",
"last_month",
"this_quarter",
"last_quarter",
"this_year",
"last_year"
]
},
"direction": {
"description": "Sort direction (default DESC).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (the account's profile default when omitted).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_get_client(client_id)
One client with address, tax ids, bank data, default currency/due days/discount and statistics. GET /clients/view/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Client id (from superfaktura_list_clients)."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_contact_persons(client_id)
The contact persons (name, e-mail, phone) stored for one client. GET /contact_people/getContactPeople/{client_id}.
輸入結構描述
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Client id."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_expenses(status, type, category_id, client_id, search, ...)
List received documents (expenses: received invoices, bills, internal documents) with amounts, VAT, supplier and payment status. status: issued (new), partially_paid, paid, overdue. Without a date filter SuperFaktura applies its default period; pass created_period='all' for everything. Paged: pass next_page as page. GET /expenses/index.json.
輸入結構描述
{
"type": "object",
"properties": {
"status": {
"description": "Payment status.",
"type": "string",
"enum": [
"issued",
"partially_paid",
"paid",
"overdue"
]
},
"type": {
"description": "Expense type (note the vendor's spelling recieved_credit_note).",
"type": "string",
"enum": [
"invoice",
"bill",
"contribution",
"internal",
"nondeductible",
"recieved_credit_note"
]
},
"category_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Expense category id (superfaktura_list_expense_categories)."
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Supplier (client) id."
},
"search": {
"description": "Text to search for (matched by SuperFaktura in names, numbers, e-mails ... of the records).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"amount_from": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"amount_to": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"created_period": {
"description": "Issue date as a period.",
"type": "string",
"enum": [
"all",
"today",
"yesterday",
"this_week",
"this_month",
"last_month",
"this_quarter",
"last_quarter",
"this_year",
"last_year"
]
},
"created_since": {
"description": "Issued on or after (yyyy-mm-dd).",
"type": "string"
},
"created_to": {
"description": "Issued on or before (yyyy-mm-dd).",
"type": "string"
},
"direction": {
"description": "Sort direction (default DESC).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (the account's profile default when omitted).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_get_expense(expense_id)
One expense with its items, VAT rates, payments and supplier. Attachments are not returned. GET /expenses/view/{id}.json.
輸入結構描述
{
"type": "object",
"properties": {
"expense_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Expense id (from superfaktura_list_expenses)."
}
},
"required": [
"expense_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_expense_categories
The expense category tree (id, name, parent) for the category_id of expenses. GET /expenses/expense_categories.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_bank_accounts
The company's bank accounts as stored in SuperFaktura (bank name, IBAN, SWIFT, default flag). GET /bank_accounts/index.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_bank_moves(date_period, date_since, date_to, move_type, amount_from, ...)
Bank transactions imported into SuperFaktura (date, amount, currency, variable symbol, counter account, matching state), newest first by default. Filter by date range, credit/debit or amount. Paged: pass next_page as page. GET /accounts/index.json.
輸入結構描述
{
"type": "object",
"properties": {
"date_period": {
"description": "Transaction date as a period.",
"type": "string",
"enum": [
"all",
"today",
"yesterday",
"this_week",
"this_month",
"last_month",
"this_quarter",
"last_quarter",
"this_year",
"last_year"
]
},
"date_since": {
"description": "Transactions on or after (yyyy-mm-dd).",
"type": "string"
},
"date_to": {
"description": "Transactions on or before (yyyy-mm-dd).",
"type": "string"
},
"move_type": {
"description": "credit = incoming, debit = outgoing.",
"type": "string",
"enum": [
"credit",
"debit"
]
},
"amount_from": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"amount_to": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"search": {
"description": "Text to search for (matched by SuperFaktura in names, numbers, e-mails ... of the records).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"direction": {
"description": "Sort direction.",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (the account's profile default when omitted).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_cash_registers
The company's cash registers with currency, number of entries and current balance (read only). GET /cash_registers/getDetails.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_get_cash_register(cash_register_id)
One cash register with currency, number of entries and current balance (read only). GET /cash_registers/view/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"cash_register_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Cash register id (from superfaktura_list_cash_registers)."
}
},
"required": [
"cash_register_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_stock_items(search, sku, in_stock_only, price_from, price_to, ...)
List warehouse items (name, SKU, unit, price, VAT, quantity in stock). search matches name, SKU and description; sku matches the SKU. Paged: pass next_page as page. GET /stock_items/index.json.
輸入結構描述
{
"type": "object",
"properties": {
"search": {
"description": "Text to search for (matched by SuperFaktura in names, numbers, e-mails ... of the records).",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"sku": {
"description": "Search by SKU.",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"in_stock_only": {
"description": "true = only items that are in stock.",
"type": "boolean"
},
"price_from": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"price_to": {
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"direction": {
"description": "Sort direction.",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (the account's profile default when omitted).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_get_stock_item(stock_item_id)
One warehouse item with SKU, price, VAT, purchase price and quantity in stock. GET /stock_items/view/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"stock_item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Stock item id (from superfaktura_list_stock_items)."
}
},
"required": [
"stock_item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_stock_movements(stock_item_id, direction, page, per_page)
The stock log of one item (quantity changes, notes, related invoice or expense). Paged: pass next_page as page. GET /stock_items/movements/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"stock_item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Stock item id."
},
"direction": {
"description": "Sort direction (default ASC).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (the account's profile default when omitted).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"stock_item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_tags
The tags (id and name) usable on invoices, expenses and clients. GET /tags/index.json.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_sequences
The document numbering sequences per document type (id, name, mask, next formatted number, default flag); sequence ids are used when creating documents. GET /sequences/index.json.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_list_countries
SuperFaktura's country ids with ISO code and EU flag, for the country_id of clients. GET /countries/index/view_full:1.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢superfaktura_get_response_by_checksum(checksum)
If a superfaktura_create_invoice call timed out, fetch the reply of the ORIGINAL request by the checksum it was sent with (kept 3 months), so the document is not created twice. GET /api_logs/getResponseByChecksum/{checksum}.
輸入結構描述
{
"type": "object",
"properties": {
"checksum": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,32}$",
"description": "The checksum given to superfaktura_create_invoice."
}
},
"required": [
"checksum"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴superfaktura_create_client(name, ico, dic, ic_dph, address, ...)
WRITE: adds a new client to the SuperFaktura address book (only the name is required). Nothing is sent to the client. Not idempotent: calling twice creates two clients, so check superfaktura_list_clients first. POST /clients/create.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Client name (company or person)."
},
"ico": {
"description": "Company id (IČO).",
"type": "string",
"maxLength": 40
},
"dic": {
"description": "Tax id (DIČ, Slovak).",
"type": "string",
"maxLength": 40
},
"ic_dph": {
"description": "VAT id (IČ DPH in Slovakia, DIČ in the Czech Republic).",
"type": "string",
"maxLength": 40
},
"address": {
"description": "Street and number.",
"type": "string",
"maxLength": 255
},
"city": {
"type": "string",
"maxLength": 255
},
"zip": {
"type": "string",
"maxLength": 20
},
"country_id": {
"description": "Country id (superfaktura_list_countries); Slovakia is 191. Defaults to the instance's country.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"email": {
"description": "Client e-mail (stored only; nothing is sent to it).",
"type": "string",
"maxLength": 254,
"pattern": "^[^\\s@]+@[^\\s@]+$"
},
"phone": {
"type": "string",
"maxLength": 40
},
"comment": {
"description": "Internal note on the client.",
"type": "string",
"maxLength": 2000
},
"iban": {
"type": "string",
"maxLength": 40
},
"swift": {
"type": "string",
"maxLength": 20
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴superfaktura_add_contact_person(client_id, name, email, phone)
WRITE: adds a contact person (name and e-mail, optional phone) to an existing client. Nothing is sent to that person. Not idempotent. POST /contact_people/add/api:1.
輸入結構描述
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Existing client id."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Contact person's name."
},
"email": {
"type": "string",
"maxLength": 254,
"pattern": "^[^\\s@]+@[^\\s@]+$",
"description": "Contact person's e-mail (stored only)."
},
"phone": {
"type": "string",
"maxLength": 40
}
},
"required": [
"client_id",
"name",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴superfaktura_create_tag(name)
WRITE: adds a new tag name (usable on invoices, expenses and clients in the SuperFaktura app). A duplicate name is refused by SuperFaktura. POST /tags/add.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Tag name."
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴superfaktura_create_expense(name, amount, vat, currency, type, ...)
WRITE: records a received document (expense) with ONE total amount and VAT rate, e.g. a supplier invoice or a bill. It is created unpaid: no payment is recorded and nothing is sent. No attachments. Not idempotent: calling twice records two expenses. POST /expenses/add.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 250,
"description": "Expense name / what it is for."
},
"amount": {
"type": "number",
"minimum": -1000000000000,
"maximum": 1000000000000,
"description": "Amount WITHOUT VAT."
},
"vat": {
"description": "VAT rate in percent (default 0).",
"type": "number",
"minimum": 0,
"maximum": 100
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "3-letter currency code, e.g. EUR, CZK."
},
"type": {
"description": "Expense type (default invoice = received invoice).",
"type": "string",
"enum": [
"invoice",
"bill",
"internal",
"nondeductible"
]
},
"created": {
"description": "Issue date (default today).",
"type": "string"
},
"delivery": {
"description": "Delivery date (default today).",
"type": "string"
},
"due": {
"description": "Due date (default today).",
"type": "string"
},
"document_number": {
"description": "The supplier's document number.",
"type": "string",
"maxLength": 60
},
"variable": {
"description": "Variable symbol.",
"type": "string",
"maxLength": 40
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Supplier (client) id from superfaktura_list_clients."
},
"category_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Expense category id from superfaktura_list_expense_categories."
},
"comment": {
"description": "Comment.",
"type": "string",
"maxLength": 2000
}
},
"required": [
"name",
"amount"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴superfaktura_create_invoice(type, name, client_id, client_name, client_ico, ...)
WRITE: creates ONE document in SuperFaktura for the user to review: type draft (concept, default), estimate (quote), order or proforma. A final regular invoice cannot be created here. It is NOT sent (no e-mail, no post), NOT marked paid or sent, and has no payment link or discount. Give an existing client_id (its name is read first with one extra GET /clients/view/{id}, so the call uses 2 requests of the daily quota) OR a new client's name (+ optional ico/dic/ic_dph/address...). Items: name, unit price without VAT, VAT rate, quantity. Not idempotent: pass a checksum (max 32 chars) so a timed-out call can be recovered with superfaktura_get_response_by_checksum instead of retried. POST /invoices/create.
輸入結構描述
{
"type": "object",
"properties": {
"type": {
"description": "Document type: draft (default), estimate, order or proforma.",
"type": "string",
"enum": [
"draft",
"estimate",
"order",
"proforma"
]
},
"name": {
"description": "Document title (default generated from the number).",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Existing client id (superfaktura_list_clients). Give this OR client_name."
},
"client_name": {
"description": "Name of a new/matching client (used when client_id is not given).",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"client_ico": {
"description": "Client company id (IČO), with client_name.",
"type": "string",
"maxLength": 40
},
"client_dic": {
"description": "Client tax id (DIČ), with client_name.",
"type": "string",
"maxLength": 40
},
"client_ic_dph": {
"description": "Client VAT id, with client_name.",
"type": "string",
"maxLength": 40
},
"client_address": {
"description": "Client street and number, with client_name.",
"type": "string",
"maxLength": 255
},
"client_city": {
"description": "Client city, with client_name.",
"type": "string",
"maxLength": 255
},
"client_zip": {
"description": "Client ZIP, with client_name.",
"type": "string",
"maxLength": 20
},
"client_country_id": {
"description": "Client country id (superfaktura_list_countries), with client_name.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"client_email": {
"description": "Client e-mail, with client_name (stored only; nothing is sent).",
"type": "string",
"maxLength": 254,
"pattern": "^[^\\s@]+@[^\\s@]+$"
},
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 250,
"description": "Item name."
},
"description": {
"description": "Item description shown on the document.",
"type": "string",
"maxLength": 5000
},
"quantity": {
"description": "Quantity (default 1).",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000
},
"unit": {
"description": "Unit, e.g. ks, h, m.",
"type": "string",
"maxLength": 20
},
"unit_price": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000,
"description": "Unit price WITHOUT VAT (the full price when the company is not a VAT payer)."
},
"tax": {
"description": "VAT rate in percent, e.g. 20 (use 0 when the company is not a VAT payer).",
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"name",
"unit_price"
]
},
"description": "1-100 items."
},
"created": {
"description": "Issue date (default today).",
"type": "string"
},
"delivery": {
"description": "Delivery date.",
"type": "string"
},
"due": {
"description": "Due date.",
"type": "string"
},
"invoice_currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "3-letter currency code, e.g. EUR, CZK."
},
"variable": {
"description": "Variable symbol (the document number when empty).",
"type": "string",
"maxLength": 40
},
"constant": {
"description": "Constant symbol.",
"type": "string",
"maxLength": 10
},
"specific": {
"description": "Specific symbol.",
"type": "string",
"maxLength": 20
},
"order_no": {
"description": "Order number.",
"type": "string",
"maxLength": 40
},
"sequence_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Numbering sequence id (superfaktura_list_sequences)."
},
"header_comment": {
"description": "Comment above the items (shown on the document).",
"type": "string",
"maxLength": 5000
},
"comment": {
"description": "Comment on the document.",
"type": "string",
"maxLength": 5000
},
"internal_comment": {
"description": "Internal comment (not shown on the document).",
"type": "string",
"maxLength": 5000
},
"checksum": {
"description": "Your own unique token (max 32 chars) to recover the reply if the call times out.",
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,32}$"
}
},
"required": [
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據