> ## Documentation Index
> Fetch the complete documentation index at: https://docs.consile.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# e-conomic

> Invoices, debtors, chart of accounts with live balances, entries and daily journals from e-conomic, plus guardrailed work with customers, draft invoices, draft credit notes and the daily journal, directly from your AI.

*[Læs siden på dansk](https://docs.consile.ai/connectors/economic.md)*

The e-conomic connector gives your AI access to your accounts in e-conomic (Visma):
debtor overview, booked and overdue invoices, chart of accounts with live balances,
entries, daily journals, products and creditors, without exports or spreadsheets. It
can also create and edit customers, create, edit and duplicate draft invoices,
make draft credit notes and work in the daily journal (create, edit, delete and
book selected entries), always behind clear guardrails. You approve the Consile
app on e-conomic's own page, and your AI never sees the access itself.

> [!NOTE]
>
> **Read + guardrailed write.** 28 tools only read. The 12
> write tools change nothing in e-conomic without an explicit confirmation
> (`confirm: true`). Without it, you only get a preview. Invoices and
> credit notes remain drafts, which you book yourself in e-conomic. Entries in the daily journal
> can be booked, but only the entry numbers you have seen and confirmed. An
> administrator can set the individual user to **Read only**. See
> [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md).

> **Access**
>
> Read + guardrailed write. Read only can be chosen per user

> **Authentication**
>
> e-conomic app approval (Superuser)

> **Hosting**
>
> Hosted in the EU · Frankfurt

* **Price:** 299 DKK/month excl. VAT. No lock-in,
  cancel at any time. The price covers 1 user and 1 e-conomic agreement. Each
  extra user and each extra agreement costs 149.50 DKK/month excl. VAT. See
  [Pricing](https://docs.consile.ai/en/portal/pricing.md). e-conomic is also included in
  [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md) and
  [the free edition](https://docs.consile.ai/en/portal/free-edition.md).
* **Multiple agreements:** one connection covers one e-conomic agreement. If you
  have several agreements, for example several companies, an administrator adds
  them directly on the connector's page in the portal: the **Connections** card → **Add
  agreement**. Each extra agreement gets its own address, for example
  `https://mcp.consile.ai/economic-2/mcp`, which you add in your AI as a separate
  connector. See
  [Multiple agreements](https://docs.consile.ai/en/connect/connect-economic.md#multiple-agreements).
* **Endpoint:** `https://mcp.consile.ai/economic/mcp` (your own named
  connector in your AI).

## Prerequisites

**1. Subscription**

An administrator buys the connector in the [portal](https://app.consile.ai). See
[Buy a connector](https://docs.consile.ai/en/portal/buy-a-connector.md).

**2. Your AI connected**

See [Connect Claude](https://docs.consile.ai/en/connect/connect-claude.md) or
[Connect ChatGPT](https://docs.consile.ai/en/connect/connect-chatgpt.md). e-conomic can also be used in
Microsoft 365 Copilot as a pilot, see
[Connect Microsoft 365 Copilot](https://docs.consile.ai/en/connect/connect-microsoft-copilot.md).

**3. e-conomic approved**

Approve the Consile app as a **Superuser** on the agreement you want to connect, see
[Connect e-conomic](https://docs.consile.ai/en/connect/connect-economic.md).

**4. Access for each user**

Whoever buys e-conomic automatically gets the included access. If more
colleagues need e-conomic in their AI, an administrator gives them access on
the person's page under **Team** and chooses their access level at the same
time (see [Access level per user](#access-level-per-user)). Each extra user
costs 149.50 DKK/month excl. VAT and is billed pro rata from the day access is
given. A colleague without access can still see the e-conomic tools in their
AI, but every call is refused with a message to ask an administrator for
access. If you have [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md), an
administrator instead gives one membership licence per person, and it also
covers e-conomic. The access level is still chosen per person. See [Team](https://docs.consile.ai/en/portal/team.md).

## What can it do? (tools)

You do not need to know the tool names. You ask in natural language, and your AI
picks and calls the right tool itself. Each tool is called `economic__<tool>` (for
example `economic__list_customers`); in the tables below the names are shown
without the prefix.

The connector provides 40 tools in total: 28 read-only (pure reading)
and 12 guardrailed write tools. A user whom an administrator has set to
**Read only** only gets the 28 (see
[Access level per user](#access-level-per-user)).

### Reading (28 read-only)

**Debtors & liquidity**

| Tool | What it does |
| - | - |
| `get_invoice_totals` | Debtor overview in one call: drafts vs. booked, paid and unpaid (overdue/not overdue) |
| `list_invoices_overdue` | Booked invoices past their due date with remaining amount |
| `list_customers` | Debtors with balance, overdue amount and payment terms |
| `list_customer_contacts` | The contact persons on one debtor (contact number, name, email, phone). The numbers are the ones the customer card's "Deres reference" and "Attention" point to |
| `list_delivery_locations` | The delivery locations on one debtor (number, address, postcode, city, country, delivery terms) |
| `get_customer` | One debtor with balance and overdue amount |
| `get_customer_outstanding` | One debtor's outstanding amount for reminder work: balance, overdue amount and totals for booked unpaid and overdue invoices |

**Invoices**

| Tool | What it does |
| - | - |
| `list_booked_invoices` | Booked invoices with amount, VAT and remaining amount |
| `get_booked_invoice` | One booked invoice incl. invoice lines |
| `download_invoice_pdf` | Fetch a booked invoice as PDF (base64). Only for AI agents that can save files. In a regular chat, you fetch the PDF in e-conomic |
| `list_draft_invoices` | Draft invoices (not booked yet) |

**Bookkeeping & accounts**

| Tool | What it does |
| - | - |
| `list_chart_of_accounts` | Chart of accounts with live balances |
| `list_year_account_totals` | The year's totals per account (profit and loss and balance sheet) |
| `get_account_year_total` | Balance/movement for one account in one fiscal year |
| `list_accounting_years` | Fiscal years with start and end dates |
| `list_accounting_periods` | Periods in a fiscal year |
| `list_account_entries` | Booked entries (account statement) for one account and year |

**Daily journal**

| Tool | What it does |
| - | - |
| `list_journals` | Daily journals with number, name, default contra accounts and allowed entry types |
| `list_journal_entries` | Unbooked entries in the daily journals. Can be filtered on daily journal, entry number, voucher number, date, account, contra account, currency, project, debtor, creditor and entry type, but not on text or amount |

**Products & creditors**

| Tool | What it does |
| - | - |
| `list_products` | Products with product number, name, sales price and cost price |
| `list_suppliers` | Creditors for questions about suppliers and expenses |

**Lookups (reference numbers for customers, invoices and entries)**

| Tool | What it does |
| - | - |
| `list_vat_accounts` | VAT codes with rates (also used as the VAT code on entries in the daily journal) |
| `list_customer_groups` | Debtor groups (`customerGroupNumber`) |
| `list_payment_terms` | Payment terms (`paymentTermsNumber`) |
| `list_vat_zones` | VAT zones: domestic/EU/abroad (`vatZoneNumber`) |
| `list_layouts` | Invoice/document layouts (`layoutNumber`) |
| `list_units` | Units (for example hours, pcs.) for invoice lines |

**Support**

| Tool | What it does |
| - | - |
| `validate_connection` | Checks that the connection (the grant token) still works |

### Writing (12 guardrailed tools)

These twelve tools are the only ones that change anything in e-conomic. Eight work
with customers and sales documents, four with the daily journal. A call without
`confirm: true` never changes anything, but shows exactly which change would be
sent. The change is only carried out when the call contains `confirm: true`.
Normally your AI shows you the preview and only calls again with `confirm: true`
once you have said yes.

| Tool | What it does | Requires confirmation? |
| - | - | - |
| `create_customer` | Creates a new customer (debtor). Can create a delivery address and a contact person (set as "Deres reference") in the same confirmation | Always |
| `update_customer` | Edits a customer. Fields you do not change are kept. Can also set "Deres reference", "Attention", default delivery location and "Vores reference" | Always |
| `create_customer_contact` | Creates a contact person on a customer. Can be set as the customer's "Deres reference" and/or "Attention" in the same confirmation | Always |
| `create_delivery_location` | Creates a delivery location on a customer. Can be set as the default delivery address in the same confirmation | Always |
| `create_draft_invoice` | Creates a draft invoice (unbooked, without effect on the accounts) | Always |
| `update_draft_invoice` | Edits a draft invoice: date, due date, customer, payment terms, layout, recipient, notes or lines. Booked invoices cannot be edited | Always |
| `duplicate_invoice` | Copies a booked invoice or a draft invoice to a new draft. The copy keeps the source invoice's date and due date, unless you ask for new ones | Always |
| `create_credit_note` | Creates a draft credit note that either reverses an existing invoice (fully or for selected lines) or is built from lines you specify | Always |
| `create_journal_entries` | Creates 1-50 unbooked entries in a daily journal | Always |
| `update_journal_entries` | Edits 1-50 unbooked entries | Always |
| `delete_journal_entry` | Deletes one unbooked entry | Always |
| `book_journal_entries` | Books the entry numbers you specify (at most 50 per call). Cannot be undone | Always, and only if the entries are unchanged since the preview |

> **[Building on top yourself? See the API reference](https://docs.consile.ai/developers/tools/economic.md)**
>
> Full reference with all 40 tools, arguments, pagination, filters,
> guardrail fields and return values.

## How the guardrail works

The guardrails are built into the e-conomic tools:

1. **All twelve write tools are dry-run by default.** A call without
   `confirm: true` never changes anything in e-conomic. Some tools first read
   the record they are to change, copy, delete or book, so the preview
   shows the right content.
   You get a structured preview of exactly the change (method, path and
   content) that would be sent.
2. **The change is only carried out with `confirm: true`.** In accounting there is
   no write without consequences, so there are no exceptions. Booking also requires
   a check value from the preview and therefore always takes two calls.
3. **Invoices and credit notes remain drafts.** The connector cannot book
   or send an invoice or credit note. You review and book them yourself in
   e-conomic.
4. **Booking from the daily journal has an extra guardrail.** `book_journal_entries`
   only books the entry numbers you specify, at most 50 at a time and never the
   whole journal. The preview shows each entry (type, date, amount, text) and a
   total per currency. If an entry has changed between preview and confirmation,
   the booking is refused, and nothing is booked. Booking cannot be undone.
5. **Only drafts can be deleted.** `delete_journal_entry` deletes one unbooked
   entry at a time. Booked entries and booked invoices cannot be changed
   or deleted. Corrections are made with a reversing entry or a credit note.
6. **Credit notes always have negative lines.** When an invoice is reversed, the
   credit note is dated today, unless you specify another date. A document that
   is already a credit note cannot be reversed again.
7. **Edits only change the fields you specify.** `update_customer`,
   `update_draft_invoice` and `update_journal_entries` keep the fields you do not
   specify. The confirmation call applies your changes to the record as it looks at
   that time.

In practice your AI normally shows you the plan first and only sends `confirm: true`
once you have said yes. It is the call with `confirm: true` that actually changes
something in e-conomic.

> [!TIP]
>
> Read the whole confirmation model, which applies across all write connectors,
> under [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md).

## Access level per user

For e-conomic, an administrator can choose the access level for each user (this
is also possible for [Uniconta](https://docs.consile.ai/en/connectors/uniconta.md#access-level-per-user)).
You do it in the portal under [Team](https://docs.consile.ai/en/portal/team.md): click the user's name, and
for e-conomic choose between **None**, **Read only (28)**,
**Full access (40)** and **Custom**, where you choose exactly the tools the
user gets (see [Custom access](https://docs.consile.ai/en/portal/team.md#custom-access)). The numbers
count the tools the organization has switched on.

| Level | Tools | What your AI can do |
| - | - | - |
| **Read only** | 28 | Read accounts, invoices, debtors, daily journals and so on. No write tools. |
| **Full access** (default) | 40 | Everything above plus the 12 guardrailed write tools. |

* Both levels cost the same.
* The level applies to the user's access to all your e-conomic agreements.
* If a user is on **Read only**, Consile blocks all write operations on the
  server for that user: the write tools do not show in the user's AI, and a
  call to them is refused without anything being changed.
* The connection to e-conomic belongs to the company, so colleagues with **Full
  access** can still write.
* If an open conversation has already fetched the tool list, the write tools can
  still be there until the user starts a new conversation. Calls to them are
  refused.
* Only administrators can change the level. If you choose a level for a user who
  does not have access to e-conomic yet, the user gets access at the same time. If
  it is an extra user, you confirm the purchase first.

## Try asking

> **Liquidity & debtors**
>
> > *"Which customers are most overdue right now, and how much do they owe in total?"*
>
> > *"Give me a debtor overview: paid, unpaid and overdue."*
>
> > *"How much does customer 1024 owe, and how much of it is overdue?"*

> **Profit & balance sheet**
>
> > *"Show revenue and profit per account for the current fiscal year."*
>
> > *"What is the movement on account 1010 in 2025?"*

> **Invoices**
>
> > *"Show the lines on the latest booked invoice to customer 1024."*
>
> > *"Show booked invoices from May with a remaining amount."*

> **Create & edit (guardrailed)**
>
> > *"Create a new customer \<company name> in DKK."* (you get a preview and must confirm)
>
> > *"Make a draft invoice for customer 1024 with two lines."* (you are asked to confirm)
>
> > *"Make a draft credit note that reverses invoice 10234."* (you get a preview and must confirm)

> **Daily journal (guardrailed)**
>
> > *"Find entries in the daily journal with the text 'rent', and change the amount to 12,500 DKK. Show me the change first."*
>
> > *"Book entries 41 and 42 in daily journal 1, but show them to me before anything is booked."*

> [!TIP]
>
> Mention a fiscal year or a customer number in the question, and the answer is
> precise right away. Several tools require a year (`list_account_entries`,
> `get_account_year_total`). For creation, your AI looks up reference numbers
> itself via the `list_*` tools (group, payment terms, VAT zone, layout,
> daily journal).

## Limitations

* **Writing is guardrailed, not unrestricted.** The twelve write tools only work behind
  the confirmation guardrail above. The guardrail consists of safe defaults
  in the connector and is not an absolute guarantee.
* **Invoices and credit notes are not booked by your AI.** They are created and
  edited as drafts. A draft is a real document that the bookkeeper sees in
  e-conomic, but it only affects the accounts when you book it in e-conomic.
* **Booked is booked.** Booking from the daily journal cannot be undone, and
  booked entries and invoices cannot be edited or deleted via the
  connector. An error is corrected with a reversing entry or a credit note. At most 50
  entries per call.
* **The daily journal cannot be searched by text or amount at e-conomic.** Your AI
  narrows down by daily journal, date, account and similar, and finds text and
  amount in the fetched rows.
* **Invoice PDF in chat:** `download_invoice_pdf` returns the file as base64, which
  a regular chat cannot turn into an attachment. In a chat, you fetch the
  PDF in e-conomic.
* **Grant token without renewal:** the access is a static token per agreement. If
  someone removes the Consile app in e-conomic, the connector stops working, and
  your AI gets the message `e-conomic rejected the grant token (401); reconnect required`.
  The same message (with `403`) can also mean that the app role is too narrow for a
  write. `validate_connection` can confirm the status. The portal can still show
  **Connected**, because the access is still stored at Consile. See
  [Reconnect](https://docs.consile.ai/en/connect/connect-economic.md#reconnect).

Is something not working as expected? See [Troubleshooting](https://docs.consile.ai/en/troubleshooting.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.