ABRA Flexi MCP by usefulapi
MCP server for ABRA Flexi — accounting, contacts, stock and draft-checked invoice creation.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen abraflexi_list_received_invoices
- LOWen abraflexi_create_issued_invoice
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"abra-flexi": {
"url": "https://abra-flexi.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://abra-flexi.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (19)
🟢abraflexi_get_company
Show the ABRA Flexi company the login points to (name, company id, state). Use it to check the connection.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_evidences(search)
List the evidences (tables) of the company with their Czech path and name, for example faktura-vydana = issued invoices, adresar = address book, cenik = price list. Use a path from here as 'evidence' in abraflexi_list_records / abraflexi_get_record (only business evidences are readable there).
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"description": "Only evidences whose path or name contains this text (case-insensitive).",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_issued_invoices(status, customer_code, from, to, due_before, ...)
List issued invoices (sales invoices to customers), newest first by default, filtered by payment status, customer/supplier code, dates or text. Money fields: sumCelkem = total, zbyvaUhradit = still to pay (in the company currency), the *Men fields are in the document currency. Returns total, next_start for paging. Pass 'fields' for other properties.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "all (default), unpaid (open balance, not cancelled), overdue (unpaid and past its due date) or paid (nothing left to pay).",
"type": "string",
"enum": [
"all",
"unpaid",
"overdue",
"paid"
]
},
"customer_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only invoices of this address-book entry: its code (kod) from abraflexi_list_contacts."
},
"from": {
"description": "Issued on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Issued on or before this day (yyyy-mm-dd).",
"type": "string"
},
"due_before": {
"description": "Due date before this day (yyyy-mm-dd).",
"type": "string"
},
"search": {
"description": "Text searched in the invoice number, variable symbol, customer name and description (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_get_issued_invoice(id)
Get one issued invoice with all its fields and its line items. Pass the numeric id (from the list) or an identifier such as code:<number>.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(?:[1-9]\\d{0,15}|(?:code|ext|ean|plu|key|vatid|in|iban):[^\\u0000-\\u001f\\u007f]{1,150})$",
"description": "Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_received_invoices(status, customer_code, from, to, due_before, ...)
List received invoices (bills from suppliers), newest first by default, filtered by payment status, customer/supplier code, dates or text. Money fields: sumCelkem = total, zbyvaUhradit = still to pay (in the company currency), the *Men fields are in the document currency. Returns total, next_start for paging. Pass 'fields' for other properties.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "all (default), unpaid (open balance, not cancelled), overdue (unpaid and past its due date) or paid (nothing left to pay).",
"type": "string",
"enum": [
"all",
"unpaid",
"overdue",
"paid"
]
},
"customer_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only invoices of this address-book entry: its code (kod) from abraflexi_list_contacts."
},
"from": {
"description": "Issued on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Issued on or before this day (yyyy-mm-dd).",
"type": "string"
},
"due_before": {
"description": "Due date before this day (yyyy-mm-dd).",
"type": "string"
},
"search": {
"description": "Text searched in the invoice number, variable symbol, customer name and description (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_get_received_invoice(id)
Get one received invoice with all its fields and its line items. Pass the numeric id (from the list) or an identifier such as code:<number>.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(?:[1-9]\\d{0,15}|(?:code|ext|ean|plu|key|vatid|in|iban):[^\\u0000-\\u001f\\u007f]{1,150})$",
"description": "Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_contacts(search, city, order, fields, start, ...)
List or search the address book (adresar): customers and suppliers with code (kod), name, company id (ic), VAT id (dic), e-mail, phone and address. The code from here identifies the customer in invoices.
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"description": "Text searched in code, name, company id, VAT id and e-mail (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"city": {
"description": "Only entries in this city.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_get_contact(id)
Get one address-book entry with all its fields. Pass the numeric id (from abraflexi_list_contacts) or code:<kod>.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(?:[1-9]\\d{0,15}|(?:code|ext|ean|plu|key|vatid|in|iban):[^\\u0000-\\u001f\\u007f]{1,150})$",
"description": "Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_products(search, order, fields, start, limit)
List or search the price list (cenik): products and services with code, name, EAN, prices (without and with VAT), purchase price and whether they are stocked.
Esquema de entrada
{
"type": "object",
"properties": {
"search": {
"description": "Text searched in code, name and EAN (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_stock_cards(product_code, warehouse_code, accounting_period, max_on_hand, order, ...)
List stock cards (skladova-karta): the quantity on hand (stavMJ), reserved (rezervMJ) and available (dostupMj) per product and warehouse, with min/max limits and average price.
Esquema de entrada
{
"type": "object",
"properties": {
"product_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only this product: its code (kod) from abraflexi_list_products."
},
"warehouse_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only this warehouse: its code (kod), see abraflexi_list_records with evidence sklad."
},
"accounting_period": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Accounting period code (ucetni-obdobi kod, e.g. 2026). Default: the period that contains today. Stock cards exist once per period, so without this the quantities of older periods would be mixed in."
},
"max_on_hand": {
"description": "Only cards with at most this quantity on hand (stavMJ), e.g. 0 for sold-out items or 5 for low stock. Compare minMJ in the result for the card's own minimum.",
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_stock_movements(warehouse_code, from, to, order, fields, ...)
List stock movements (skladovy-pohyb: receipts, issues, transfers), newest first by default, filtered by warehouse or dates.
Esquema de entrada
{
"type": "object",
"properties": {
"warehouse_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only this warehouse: its code (kod)."
},
"from": {
"description": "Dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_bank_movements(from, to, account_code, variable_symbol, search, ...)
List bank movements (banka: bank statement lines, incoming and outgoing payments), newest first by default, filtered by dates, bank account, variable symbol or text. sumCelkem is the amount; typPohybuK says incoming or outgoing.
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"description": "Dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"account_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only this bank account: its code (kod), see abraflexi_list_records with evidence bankovni-ucet or pokladna."
},
"variable_symbol": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only movements with this variable symbol."
},
"search": {
"description": "Text searched in the document number, counterparty name and description (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_cash_movements(from, to, account_code, variable_symbol, search, ...)
List cash desk movements (pokladni-pohyb: cash receipts and payouts), newest first by default, filtered by dates, cash desk, variable symbol or text. sumCelkem is the amount; typPohybuK says incoming or outgoing.
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"description": "Dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"account_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only this cash desk: its code (kod), see abraflexi_list_records with evidence bankovni-ucet or pokladna."
},
"variable_symbol": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only movements with this variable symbol."
},
"search": {
"description": "Text searched in the document number, counterparty name and description (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_orders(direction, customer_code, from, to, search, ...)
List orders: direction 'received' = customer orders (objednavka-prijata, default), 'issued' = purchase orders to suppliers (objednavka-vydana). Newest first by default.
Esquema de entrada
{
"type": "object",
"properties": {
"direction": {
"description": "received (customer orders, default) or issued (purchase orders).",
"type": "string",
"enum": [
"received",
"issued"
]
},
"customer_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Only orders of this address-book entry: its code (kod)."
},
"from": {
"description": "Order date on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Order date on or before this day (yyyy-mm-dd).",
"type": "string"
},
"search": {
"description": "Text searched in the order number, customer name and description (diacritics ignored).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_list_records(evidence, filter, order, fields, start, ...)
List records of any business evidence (invoice types, bank accounts, warehouses, cost centres, currencies, ledger entries, price-list items, ...) with an optional filter in ABRA Flexi's filter language, for example filter "zbyvaUhradit > 0 and datSplat < now()" or "kod = 'ABC'". Operators: = <> < <= > >= like, like similar (ignores diacritics), begins, ends, between, in, and, or, not; dates as 2026-01-31. Without 'fields' the vendor's summary fields are returned.
Esquema de entrada
{
"type": "object",
"properties": {
"evidence": {
"type": "string",
"enum": [
"adresar",
"kontakt",
"adresar-bankovni-ucet",
"misto-urceni",
"skupina-firem",
"udalost",
"faktura-vydana",
"faktura-vydana-polozka",
"typ-faktury-vydane",
"rada-faktury-vydane",
"faktura-prijata",
"faktura-prijata-polozka",
"typ-faktury-prijate",
"rada-faktury-prijate",
"objednavka-prijata",
"objednavka-prijata-polozka",
"typ-objednavky-prijate",
"objednavka-vydana",
"objednavka-vydana-polozka",
"typ-objednavky-vydane",
"poptavka-vydana",
"poptavka-prijata",
"nabidka-vydana",
"nabidka-vydana-polozka",
"nabidka-prijata",
"pohledavka",
"zavazek",
"interni-doklad",
"interni-doklad-polozka",
"prodejka",
"prodejka-platba",
"banka",
"banka-polozka",
"typ-banka",
"pokladni-pohyb",
"pokladni-pohyb-polozka",
"typ-pokladni-pohyb",
"bankovni-ucet",
"pokladna",
"prikaz-k-uhrade",
"prikaz-k-uhrade-polozka",
"vzajemny-zapocet",
"saldo",
"ucetni-denik",
"ucet",
"ucetni-obdobi",
"cleneni-dph",
"sazba-dph",
"stat-dph",
"cenik",
"skladova-karta",
"skladovy-pohyb",
"skladovy-pohyb-polozka",
"typ-skladovy-pohyb",
"sklad",
"skupina-zbozi",
"kusovnik",
"cenova-uroven",
"dodavatel",
"odberatel",
"rezervace",
"inventura",
"inventura-polozka",
"sarze-expirace",
"vyrobni-cislo",
"smlouva",
"smlouva-polozka",
"typ-smlouvy",
"majetek",
"zakazka",
"typ-zakazky",
"stredisko",
"cinnost",
"mena",
"kurz",
"stat",
"merna-jednotka",
"forma-uhrady",
"stitek",
"skupina-stitku",
"region",
"konst-symbol",
"typ-dokladu"
],
"description": "Evidence (table) path, e.g. faktura-vydana, adresar, cenik. See abraflexi_list_evidences for what the company has."
},
"filter": {
"description": "Filter expression without the outer parentheses, e.g. \"kod like 'FV' and datVyst >= 2026-01-01\".",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"order": {
"description": "Sort order: property@A or property@D, several separated by commas, e.g. \"datVyst@D\" (newest first).",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9.]*@[AD](,[A-Za-z][A-Za-z0-9.]*@[AD]){0,2}$"
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
},
"start": {
"description": "Records to skip (default 0). Use next_start from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Records per page, 1-200 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"evidence"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢abraflexi_get_record(evidence, id, fields)
Get one record of any business evidence with all its fields (detail full), by numeric id or identifier such as code:ABC. Field names are the vendor's Czech property names.
Esquema de entrada
{
"type": "object",
"properties": {
"evidence": {
"type": "string",
"enum": [
"adresar",
"kontakt",
"adresar-bankovni-ucet",
"misto-urceni",
"skupina-firem",
"udalost",
"faktura-vydana",
"faktura-vydana-polozka",
"typ-faktury-vydane",
"rada-faktury-vydane",
"faktura-prijata",
"faktura-prijata-polozka",
"typ-faktury-prijate",
"rada-faktury-prijate",
"objednavka-prijata",
"objednavka-prijata-polozka",
"typ-objednavky-prijate",
"objednavka-vydana",
"objednavka-vydana-polozka",
"typ-objednavky-vydane",
"poptavka-vydana",
"poptavka-prijata",
"nabidka-vydana",
"nabidka-vydana-polozka",
"nabidka-prijata",
"pohledavka",
"zavazek",
"interni-doklad",
"interni-doklad-polozka",
"prodejka",
"prodejka-platba",
"banka",
"banka-polozka",
"typ-banka",
"pokladni-pohyb",
"pokladni-pohyb-polozka",
"typ-pokladni-pohyb",
"bankovni-ucet",
"pokladna",
"prikaz-k-uhrade",
"prikaz-k-uhrade-polozka",
"vzajemny-zapocet",
"saldo",
"ucetni-denik",
"ucet",
"ucetni-obdobi",
"cleneni-dph",
"sazba-dph",
"stat-dph",
"cenik",
"skladova-karta",
"skladovy-pohyb",
"skladovy-pohyb-polozka",
"typ-skladovy-pohyb",
"sklad",
"skupina-zbozi",
"kusovnik",
"cenova-uroven",
"dodavatel",
"odberatel",
"rezervace",
"inventura",
"inventura-polozka",
"sarze-expirace",
"vyrobni-cislo",
"smlouva",
"smlouva-polozka",
"typ-smlouvy",
"majetek",
"zakazka",
"typ-zakazky",
"stredisko",
"cinnost",
"mena",
"kurz",
"stat",
"merna-jednotka",
"forma-uhrady",
"stitek",
"skupina-stitku",
"region",
"konst-symbol",
"typ-dokladu"
],
"description": "Evidence (table) path, e.g. faktura-vydana, adresar, cenik. See abraflexi_list_evidences for what the company has."
},
"id": {
"type": "string",
"pattern": "^(?:[1-9]\\d{0,15}|(?:code|ext|ean|plu|key|vatid|in|iban):[^\\u0000-\\u001f\\u007f]{1,150})$",
"description": "Record id: the numeric ABRA Flexi id (123) or an identifier such as code:ABC."
},
"fields": {
"description": "Comma-separated field names to return instead of the default set (e.g. kod,datVyst,sumCelkem). Field names are the vendor's Czech property names.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(,[A-Za-z][A-Za-z0-9]*){0,59}$"
}
},
"required": [
"evidence",
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡abraflexi_create_contact(name, code, ic, dic, email, ...)
WRITE: create a new address-book entry (customer or supplier) in ABRA Flexi. It only adds a record; nothing is sent. Use dry_run first to see the result without saving. Check abraflexi_list_contacts first so you do not create a duplicate.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name of the company or person (nazev)."
},
"code": {
"description": "Code (kod) for the entry; generated from the name if omitted.",
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,20}$"
},
"ic": {
"description": "Company id (IČO).",
"type": "string",
"pattern": "^[0-9A-Za-z -]{1,20}$"
},
"dic": {
"description": "VAT id (DIČ).",
"type": "string",
"pattern": "^[0-9A-Za-z -]{1,20}$"
},
"email": {
"description": "E-mail address.",
"type": "string",
"maxLength": 255
},
"phone": {
"description": "Phone number (tel).",
"type": "string",
"maxLength": 40
},
"mobile": {
"description": "Mobile number (mobil).",
"type": "string",
"maxLength": 40
},
"street": {
"description": "Street and number (ulice).",
"type": "string",
"maxLength": 255
},
"city": {
"description": "City (mesto).",
"type": "string",
"maxLength": 100
},
"postal_code": {
"description": "Postal code (psc).",
"type": "string",
"maxLength": 20
},
"country_code": {
"description": "ISO country code, e.g. CZ, SK, DE (stat).",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"payment_terms_days": {
"description": "Default payment terms in days (splatDny).",
"type": "integer",
"minimum": 0,
"maximum": 3650
},
"note": {
"description": "Note (poznam).",
"type": "string",
"maxLength": 2000
},
"dry_run": {
"description": "true = only validate and show what would be saved, nothing is stored (recommended first). Default false = save.",
"type": "boolean"
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴abraflexi_update_contact(id, name, code, ic, dic, ...)
WRITE: change fields of an existing address-book entry (only the fields you pass are changed). The entry must exist (a wrong id is an error, nothing is created). This overwrites the current values. Use dry_run first to check.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The numeric ABRA Flexi id of the record (the 'id' field of a list result)."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name of the company or person (nazev)."
},
"code": {
"description": "Code (kod) for the entry; generated from the name if omitted.",
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,20}$"
},
"ic": {
"description": "Company id (IČO).",
"type": "string",
"pattern": "^[0-9A-Za-z -]{1,20}$"
},
"dic": {
"description": "VAT id (DIČ).",
"type": "string",
"pattern": "^[0-9A-Za-z -]{1,20}$"
},
"email": {
"description": "E-mail address.",
"type": "string",
"maxLength": 255
},
"phone": {
"description": "Phone number (tel).",
"type": "string",
"maxLength": 40
},
"mobile": {
"description": "Mobile number (mobil).",
"type": "string",
"maxLength": 40
},
"street": {
"description": "Street and number (ulice).",
"type": "string",
"maxLength": 255
},
"city": {
"description": "City (mesto).",
"type": "string",
"maxLength": 100
},
"postal_code": {
"description": "Postal code (psc).",
"type": "string",
"maxLength": 20
},
"country_code": {
"description": "ISO country code, e.g. CZ, SK, DE (stat).",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"payment_terms_days": {
"description": "Default payment terms in days (splatDny).",
"type": "integer",
"minimum": 0,
"maximum": 3650
},
"note": {
"description": "Note (poznam).",
"type": "string",
"maxLength": 2000
},
"dry_run": {
"description": "true = only validate and show what would be saved, nothing is stored (recommended first). Default false = save.",
"type": "boolean"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡abraflexi_create_issued_invoice(document_type_code, customer_code, items, issue_date, due_date, ...)
WRITE: create an issued invoice (faktura-vydana) with line items in ABRA Flexi. The invoice is saved as a normal document with the next number of its series, and ABRA Flexi may account it automatically according to the settings of the chosen invoice type; this tool does NOT send it, mark it paid or e-mail it. Use dry_run first to see the computed totals and validation errors without saving. Find document_type_code with abraflexi_list_records (evidence typ-faktury-vydane) and customer_code with abraflexi_list_contacts.
Esquema de entrada
{
"type": "object",
"properties": {
"document_type_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Code (kod) of the issued-invoice type, e.g. FAKTURA (evidence typ-faktury-vydane)."
},
"customer_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Code (kod) of the customer in the address book."
},
"items": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Item text (nazev). Required unless price_list_code is given.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"price_list_code": {
"type": "string",
"pattern": "^[^\\u0000-\\u001f\\u007f]{1,150}$",
"description": "Price-list item (cenik) code; takes name, price and VAT from the price list when not given."
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "Quantity (mnozMj)."
},
"unit_price": {
"description": "Unit price without VAT (cenaMj). Required unless price_list_code is given.",
"type": "number",
"minimum": -1000000000000,
"maximum": 1000000000000
},
"vat_rate": {
"description": "VAT rate in percent for this item (szbDph), e.g. 21, 12, 0.",
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"quantity"
]
},
"description": "Line items."
},
"issue_date": {
"description": "Issue date (datVyst), default today.",
"type": "string"
},
"due_date": {
"description": "Due date (datSplat), default from the customer's payment terms.",
"type": "string"
},
"description": {
"description": "Invoice description (popis).",
"type": "string",
"maxLength": 255
},
"variable_symbol": {
"description": "Variable symbol (varSym), digits only.",
"type": "string",
"pattern": "^[0-9]{1,10}$"
},
"currency_code": {
"description": "Currency code (mena), company currency when omitted.",
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"note": {
"description": "Internal note (poznam).",
"type": "string",
"maxLength": 2000
},
"dry_run": {
"description": "true = only validate and show what would be saved, nothing is stored (recommended first). Default false = save.",
"type": "boolean"
}
},
"required": [
"document_type_code",
"customer_code",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia