SuperFaktura MCP by usefulapi

Read SuperFaktura invoices, clients, expenses, bank and stock; create clients, expenses and drafts.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
96%
Integridad del esquema
80%
Calidad de los nombres
74%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (7)

  • LOWTool 'superfaktura_list_contact_persons' name length outside 3-30 rangeen superfaktura_list_contact_persons
  • LOWTool 'superfaktura_list_expense_categories' name length outside 3-30 rangeen superfaktura_list_expense_categories
  • LOWTool 'superfaktura_list_bank_accounts' name length outside 3-30 rangeen superfaktura_list_bank_accounts
  • LOWTool 'superfaktura_list_cash_registers' name length outside 3-30 rangeen superfaktura_list_cash_registers
  • LOWTool 'superfaktura_list_stock_movements' name length outside 3-30 rangeen superfaktura_list_stock_movements
  • LOWTool 'superfaktura_get_response_by_checksum' name length outside 3-30 rangeen superfaktura_get_response_by_checksum
  • LOWTool 'superfaktura_add_contact_person' name length outside 3-30 rangeen superfaktura_add_contact_person

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,410Tokens (definiciones de herramientas)
~2.0 KBTamaño de respuesta típico
Impacto significativo en la atención (5.01% del contexto de 128k)

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": {
    "superfaktura": {
      "url": "https://superfaktura.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://superfaktura.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (25)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada25 herramientas