Skip to navigation

Keep your users updated as your project evolves

Idempotency upgrade and full REST rollout

Every documented POST endpoint now accepts an Idempotency-Key header (up to 255 characters). Reusing a key with a different request returns 422 idempotency_key_conflict (aligned with the IETF specification), retrying while the initial request is still running returns 409 idempotency_in_progress, and keys exceeding 255 characters return 400 invalid_idempotency_key.

A response is now cached once action execution begins, including 4xx domain refusals and 5xx server errors. Replays are returned byte-for-byte with Idempotent-Replayed: true and X-Original-Request-Id. Browser CORS preflights (OPTIONS) allow Idempotency-Key.

Read the docs

Added: MCP lifecycle tools for proformas, credit notes and quotes

AI agents can now manage the lifecycle of proforma invoices, credit notes, and price quotes over MCP:

  • Proformas: lucanto_issue_proforma, lucanto_send_proforma, lucanto_mark_proforma_paid, lucanto_cancel_proforma, lucanto_lock_proforma, and lucanto_reopen_proforma.
  • Credit notes: lucanto_issue_credit_note, lucanto_send_credit_note, lucanto_lock_credit_note, and lucanto_reopen_credit_note.
  • Quotes: lucanto_send_quote, lucanto_mark_quote_sent, lucanto_accept_quote, lucanto_reject_quote, lucanto_lock_quote, and lucanto_reopen_quote.

All lifecycle tools require their respective manage:<resource> scope and mirror the permissions and validation rules enforced by the REST API.

Read the docs

Added: MCP expense document uploads and extraction status

Agents can now ingest incoming receipts and invoices directly into Lucanto:

  • lucanto_prepare_expense_uploads generates direct curl upload slots for agents capable of running shell commands.
  • lucanto_upload_expense_documents accepts file attachments or base64 payloads for clients that support tool file parameters.
  • lucanto_get_expense_extraction_status tracks async OCR and AI extraction progress and returns extracted vendor, date, and amount summaries.
  • lucanto_open_expense_upload renders an interactive file upload panel in MCP Apps-compatible chat clients.
Read the docs

Added: MCP destructive action hints

MCP tools that cannot be undone or that contact external parties now declare destructiveHint: true. This covers document deletion, cancellations, sending emails to customers (lucanto_send_*), manual payment recordings, and bank transaction corrections (lucanto_correct_transaction). MCP clients supporting the hint prompt users before executing these tools.

Read the docs

Expanded: European company register lookup

GET /registry/lookup and the MCP tool lucanto_lookup_company now support business registers across four additional countries:

  • Germany (DE): OpenRegister by registration number or company name.
  • United Kingdom (GB): Companies House by registration number or company name.
  • Switzerland (CH): Swiss UID register by registration number or company name.
  • Poland (PL): GUS REGON by NIP, REGON, or KRS.
Read the docs

Added: MCP company register verification and profile updates

Three new MCP tools allow agents to verify and update workspace organization details:

  • lucanto_get_company_register_check inspects discrepancies detected between workspace company data and national registers.
  • lucanto_dismiss_company_register_check dismisses register discrepancy alerts.
  • lucanto_update_company_profile updates legal details and SK NACE business classification codes.
Read the docs

Added: expense payments and VAT calculation mode

POST /workspaces/{workspace_id}/expenses/{id}/mark_paid is now available on the REST API to record manual payments against expenses.

Expenses also support vat_calculation_mode (vat_from_gross and vat_from_net) over REST and MCP, allowing accurate line-item and VAT computations matching physical receipts and gross cash register documents.

Added: bank statement editing and comparison

Bank statements accept period_from and period_to updates via PATCH on REST and via lucanto_update_bank_statement over MCP. Bank statements on accounts with active bank feeds now include comparison metadata (reconciliation_mode, comparison) to reconcile feed transactions against uploaded statements.

Added: Ukrainian document language

uk is now supported as a document language (pdf_language, default_pdf_language) and user interface language. Rendered PDFs, notification emails, and invoice templates can now be generated in Ukrainian.

Changed: prefixed public IDs across API endpoints

All API URL path parameters that accept a record ID now accept string public IDs (such as inv_..., exp_..., ba_..., tx_...) interchangeably with numeric database IDs.