ABRA Flexi MCP by usefulapi

MCP server for ABRA Flexi — accounting, contacts, stock and draft-checked invoice creation.

사용해야 할까요

품질 및 안전성

A
설명 품질
97%
스키마 완전성
91%
이름 품질
78%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'abraflexi_list_received_invoices' name length outside 3-30 rangeabraflexi_list_received_invoices에서
  • LOWTool 'abraflexi_create_issued_invoice' name length outside 3-30 rangeabraflexi_create_issued_invoice에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~8,764토큰 (도구 정의)
~3.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 6.85%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "abra-flexi": {
      "url": "https://abra-flexi.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://abra-flexi.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (19)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢abraflexi_get_company

Show the ABRA Flexi company the login points to (name, company id, state). Use it to check the connection.

입력 스키마

{
  "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).

입력 스키마

{
  "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.

입력 스키마

{
  "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>.

입력 스키마

{
  "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.

입력 스키마

{
  "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>.

입력 스키마

{
  "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.

입력 스키마

{
  "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>.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 19개