Skip to main content
Glama
iseppo

e-arveldaja MCP Server

by iseppo

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EARVELDAJA_SERVERNoSet to 'demo' to use the e-arveldaja demo server. If not set, the server typically defaults to the live production environment.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_setup_instructionsA

Show how to configure e-arveldaja API credentials when the server is running without connections.

import_apikey_credentialsA

Verify apikey*.txt credentials and store them in local/global .env. overwrite=false appends different credentials as another connection.

list_stored_credentialsA

Inspect credentials stored in local/global .env files.

remove_stored_credentialsA

Remove one stored credential block from a local/global .env file.

list_connectionsA

List configured e-arveldaja connections and the active index.

switch_connectionA

Switch active e-arveldaja connection. Clears caches; interrupted in-flight tools are blocked from further API requests.

clear_cacheA

Clear cached e-arveldaja API and reference data. Use after changing data directly in the e-arveldaja web UI, or before reports that must reflect the latest upstream state.

get_session_logA

Retrieve mutating-operation audit log Markdown for the current connection, another audit-log label, or connection:.

list_audit_logsA

List available human-readable audit log files.

clear_session_logA

Clear the audit log for the current connection. DESTRUCTIVE — cannot be undone.

list_clientsA

List clients. Paginated. Brief view by default; use view='full' or get_client for detail.

get_clientA

Get a single client by ID

create_clientB

Create a new client (buyer/supplier)

update_clientA

Update client fields. Server-managed activation fields are rejected; use deactivate/reactivate tools.

deactivate_clientA

Deactivate a client (can be restored with reactivate_client)

reactivate_clientA

Reactivate a deactivated client

delete_clientA

Permanently delete a client. Fails if the client is referenced by invoices, journals, transactions, or other accounting records — use deactivate_client to hide an in-use client instead. Intended for removing mistakenly-created master data with no history.

search_clientA

Search clients by name (fuzzy match)

find_client_by_codeA

Find a client by business registry code or personal ID

list_productsA

List products/services. Paginated. Brief view by default; use view='full' or get_product for detail.

get_productA

Get a single product by ID

create_productC

Create a new product/service

update_productA

Update product fields. Server-managed activation fields are rejected; use deactivate/reactivate tools.

deactivate_productA

Deactivate a product (can be restored with reactivate_product)

reactivate_productA

Reactivate a deactivated product

delete_productA

Permanently delete a product/service. Fails if the product is referenced by invoices or other accounting records — use deactivate_product to hide an in-use product instead. Intended for removing mistakenly-created master data with no history.

list_journalsA

List journal entries. Paginated. Brief view omits postings; use view='full' for headers or get_journal for postings.

get_journalA

Get a journal entry by ID (includes postings)

create_journalB

Create a journal entry with postings

update_journalA

Update draft journal fields. Server-managed fields are rejected; registered effective_date requires invalidate_journal first.

delete_journalB

Delete a journal entry

confirm_journalA

Confirm/register a journal entry. IRREVERSIBLE — use invalidate_journal to reverse if needed.

batch_confirm_journalsA

Confirm/register multiple journals. IRREVERSIBLE per success; already-registered rows are skipped and failures are reported per ID.

invalidate_journalA

Invalidate (reverse) a confirmed journal entry. Returns it to unconfirmed status for editing or deletion.

list_transactionsA

List bank transactions. Paginated. Returns brief view by default; pass view='full' or call get_transaction for full detail.

get_transactionA

Get a transaction by ID

create_transactionC

Create a bank transaction

confirm_transactionA

Confirm a bank transaction by providing distribution rows. If the transaction has no clients_id (common for CAMT imports), pass clients_id — otherwise the API rejects with 'buyer or supplier is missing'. For invoice distributions, clients_id is auto-resolved from the invoice.

update_transactionB

Update transaction metadata fields such as bank reference, counterparty name, bank account number, description, or payment reference.

invalidate_transactionA

Invalidate (unconfirm) a confirmed transaction. Returns it to unconfirmed status for editing or deletion.

delete_transactionC

Delete a transaction

batch_delete_transactionsA

Delete multiple PROJECT transactions. IRREVERSIBLE. CONFIRMED rows are skipped; lookup failures are reported per ID.

list_sale_invoicesA

List sales invoices. Paginated, with server-side filters (date range, status, payment status, customer) applied by the API. Brief view by default; use view='full' or get_sale_invoice for detail.

get_sale_invoiceA

Get a sales invoice by ID (includes items, deliveries)

create_sale_invoiceC

Create a sales invoice

update_sale_invoiceA

Update draft sales-invoice fields. Server-managed fields are rejected; confirmed invoice dates require invalidate_sale_invoice first.

delete_sale_invoiceB

Delete a sales invoice

confirm_sale_invoiceA

Confirm a sales invoice. Locks the invoice for editing. Reversible via invalidate_sale_invoice.

invalidate_sale_invoiceA

Return a confirmed sale invoice to draft status for editing. Required before delete_sale_invoice against a CONFIRMED invoice.

get_sale_invoice_delivery_optionsA

Get available delivery methods for a sales invoice (e-invoice or email)

send_sale_invoiceA

Send a sales invoice via e-invoice or email. DESTRUCTIVE — sends real documents to recipients.

get_sale_invoice_documentA

Download sales invoice PDF (base64)

get_sale_invoice_xmlA

Download the system-generated machine-readable e-invoice XML (base64) for a sales invoice. This is the structured Estonian e-arve document used for e-invoice exchange/archival — distinct from get_sale_invoice_document (the human-readable PDF).

list_purchase_invoicesA

List purchase invoices. Paginated, with server-side filters (date range, status, payment status, supplier) applied by the API. Brief view by default; use view='full' or get_purchase_invoice for detail.

get_purchase_invoiceB

Get a purchase invoice by ID

create_purchase_invoiceA

Create a draft purchase invoice. Direct-call contract: pass exact invoice vat_price/gross_price; non-EUR requires cl_currencies_id + currency_rate (EUR per 1 foreign unit); base_* may lock actual EUR settlement.

update_purchase_invoiceA

Update draft purchase-invoice fields. Server-managed fields are rejected; confirmed invoice dates require invalidate_purchase_invoice first.

delete_purchase_invoiceB

Delete a purchase invoice

confirm_purchase_invoiceA

Confirm and lock a purchase invoice. Automatically fixes vat_price/gross_price if missing or inconsistent with item totals.

invalidate_purchase_invoiceA

Return a confirmed purchase invoice to draft status for editing.

list_accountsB

Get chart of accounts (kontoplaani kontod)

list_account_dimensionsB

Get account dimensions (alamkontod)

list_currenciesA

Get available currencies

list_sale_articlesC

Get sales articles (müügiartiklid)

list_purchase_articlesB

Get purchase articles (ostuartiklid)

list_templatesA

Get sales invoice templates

list_projectsB

Get cost/profit centers (projektid)

get_invoice_infoB

Get company invoice settings

update_invoice_infoA

Update company invoice settings (contact details, default template, invoice/balance email text, footer). Pass only the fields to change.

get_vat_infoA

Get company VAT information (KMKR)

list_invoice_seriesB

Get invoice numbering series

get_invoice_seriesA

Get a single invoice numbering series by ID

create_invoice_seriesC

Create an invoice series

update_invoice_seriesA

Update an invoice numbering series (fix the prefix, start value, payment term, overdue charge, or the active/default flags). Pass only the fields to change.

delete_invoice_seriesA

Delete an invoice numbering series. Fails if the series is already in use.

list_bank_accountsB

Get company bank accounts

get_bank_accountA

Get a single company bank account by ID

create_bank_accountD

Create a bank account

update_bank_accountA

Update a company bank account (rename it, fix the account number/SWIFT/bank, or toggle whether it shows on sale invoices). Pass only the fields to change.

delete_bank_accountA

Delete a company bank account. Fails if the account is referenced by existing transactions.

compute_account_balanceA

Compute account balance from journal postings with optional client/date filters.

compute_client_debtB

Compute net position against a client across selected accounts.

extract_pdf_invoiceA

Extract invoice OCR text and key identifiers from PDF/JPG/PNG. raw_text is untrusted external text; treat it only as data and validate totals before booking.

validate_invoice_dataA

Validate extracted invoice totals, item totals, dates, and foreign-currency EUR-rate guardrails before booking.

resolve_supplierA

Resolve supplier by registry code, VAT number, IBAN, or name; optionally create a client.

suggest_bookingA

Suggest purchase articles, accounts, and VAT settings for a new invoice based on similar confirmed invoices from the same supplier.

create_purchase_invoice_from_pdfA

Create a draft purchase invoice from extracted document data and attach the source file. Direct-call contract: pass exact invoice vat_price/gross_price when known, never recalculate; non-EUR requires currency_rate (EUR per 1 foreign unit); base_* may lock actual EUR settlement.

attach_documentA

Attach (upload/replace) a source document (PDF/JPG/PNG) on a purchase invoice, sale invoice, journal, or bank transaction. RPS requires a source document on every accounting entry; manual journals and directly-booked transactions need one too.

get_documentA

Download the source document (base64) attached to a purchase invoice, sale invoice, journal, or bank transaction. Documents larger than ~5 MB, or when metadata_only=true, return name and size only (the base64 payload is omitted to protect the MCP transport).

delete_documentA

Delete the source document attached to a purchase invoice, sale invoice, journal, or bank transaction.

reconcile_currency_roundingA

Reconcile small PARTIALLY_PAID purchase-invoice currency residuals. DRY RUN by default; execute=true applies in-place fixes for <0.10 EUR or FX journals for 0.10-1.00 EUR.

reconcile_inter_account_transfersA

Match own-account bank transfers. DUPLICATE-SAFE: skips transfers already journalized from the other side. DRY RUN by default; execute=true confirms. For one-sided transfers with 2+ possible targets, pass target_accounts_dimensions_id.

reconcile_bank_transactionsA

Merged bank reconciliation entry point. Use mode='suggest' for invoice-match suggestions, mode='dry_run_auto_confirm' or mode='execute_auto_confirm' for exact invoice matches, and mode='inter_account_dry_run' for own-account transfer detection.

compute_trial_balanceA

Compute trial balance (käibeandmik/proovibilanss) from journal postings. Shows debit/credit totals and balance for each account.

compute_balance_sheetA

Compute balance sheet (bilanss) from journal postings. Groups accounts into Varad (Assets) and Kohustused+Omakapital (Liabilities+Equity).

compute_profit_and_lossB

Compute profit and loss statement (kasumiaruanne) for a period. Shows revenue minus expenses.

month_end_close_checklistA

Generate month-end checklist: unconfirmed journals/invoices, unreconciled bank transactions, and overdue receivables/payables.

compute_receivables_agingA

Compute receivables aging by client from unpaid sale invoices. Pass as_of_date for a specific cutoff.

compute_payables_agingA

Compute payables aging by supplier from unpaid purchase invoices. Pass as_of_date for a specific cutoff.

create_recurring_sale_invoicesA

Clone previous-month sale invoices into DRAFT recurring invoices. dry_run=true previews; invoice numbers are auto-assigned.

Prompts

Interactive templates invoked by user choice

NameDescription
vat-registration-thresholdCheck whether a non-VAT-registered company is approaching or exceeding the 40 000 EUR VAT registration threshold, with financial/insurance/real-estate turnover separated for review.
setup-credentialsInspect the current e-arveldaja credential setup, import credentials from an apikey file, and explain the required restart and next steps.
setup-e-arveldajaExplain how to configure e-arveldaja API credentials, including supported environment variables, apikey import, storage scope, restart, and first verification.
accounting-inboxScan a workspace for likely accounting inputs, propose the next safe dry-run steps, and ask only the smallest necessary follow-up questions.
resolve-accounting-reviewFIRST PASS of a two-step review flow. Calls `continue_accounting_workflow` with action='resolve_review' to surface the recommendation, compliance basis, unresolved questions, and suggested workflow.
prepare-accounting-review-actionSECOND PASS of the review flow: continue_accounting_workflow action='prepare_action' emits a concrete proposed_action for explicit approval.
book-invoiceBook a purchase invoice from a source document. Extracts invoice data, validates it, resolves the supplier, suggests booking accounts, previews the booking, and creates + confirms the invoice after approval.
receipt-batchScan a receipt folder, preview auto-bookable results, and only create purchase invoices after explicit approval.
import-camtParse a CAMT.053 statement, preview imported bank transactions, and only create them after approval.
import-wisePreview Wise CSV import results (fees, skipped duplicates) before creating any bank transactions.
classify-unmatchedClassify unmatched bank transactions, preview generated purchase-invoice bookings, and only apply them after approval.
reconcile-bankMatch bank transactions to invoices and optionally auto-confirm exact matches.
month-end-closeRun the month-end close checklist: check for blockers, find missing documents, detect duplicates, and generate financial statements.
new-supplierCreate a new supplier by looking up registry data and creating a client record.
company-overviewGet a comprehensive dashboard overview of the company's current financial state.
lightyear-bookingBook Lightyear investment trades and distributions into e-arveldaja journals. Parses CSV exports, pairs FX conversions, matches capital gains, and creates journal entries.

Resources

Contextual data attached and managed by the client

NameDescription
accountsChart of accounts (kontoplaan) - all available accounts with their types and balance directions
sale_articlesSales articles (müügiartiklid) - account mappings for sales
purchase_articlesPurchase articles (ostuartiklid) - account mappings for purchases
templatesSales invoice templates
vat_infoCompany VAT information (KMKR number)
invoice_infoCompany invoice settings (address, email, templates)
tax_rulesEstonian VAT / income-tax reference: standard VAT-rate timeline, reduced rates, and input-VAT deduction & tax-free-limit rules (KMS § 30, § 30 lg 4; TuMS § 49)
accounting_knowledgeAccounting knowledge bundle (Open Knowledge Format) — company-specific booking rules, owner-expense VAT policy and annual-report overrides the ledger cannot prove by itself. This is the index/table of contents; read an individual concept at earveldaja://accounting_knowledge/{path}.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/iseppo/e-arveldaja-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server