Skip to main content
Glama

Fiken: Create purchase

fiken_create_purchase

Fiken: Register a purchase from a supplier or a cash purchase, with VAT, cost account and payment. Registers one purchase like Registrer kjøp in Fiken: a supplier purchase (kjøp fra leverandør) or a cash purchase (kontantkjøp), with one or more lines of gross amount, VAT type and cost account. Attach a document with inbox_document_id. paid_from is bank_account, cash, out_of_pocket (Utlegg, paid by you personally) or unpaid; an unpaid purchase is paid later in Fiken. A booked purchase cannot be edited directly: Fiken cancels the booking and makes a new draft. Check list_purchases for the same invoice number first. By default you confirm each call; you can switch that off for this tool. Reaches other people: confirm with the user before each call. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesInvoice or receipt date.
kindYessupplier or cash_purchase.
linesYesObjects with description, gross_amount, vat_type (for example HIGH, MEDIUM, LOW or NONE) and expense_account. Several objects split the purchase.
currencyNoISO 4217 code. Default: NOK.
due_dateNoDue date, if different from the invoice date.
paid_fromNobank_account, cash, out_of_pocket or unpaid. Default: unpaid.
supplier_idNoContact ID from list_contacts. Required for supplier.
bank_accountNoAccount code from list_bank_accounts. Required for bank_account.
payment_dateNoDate of payment. Default: the purchase date.
invoice_numberNoThe supplier's invoice number, used to avoid booking a document twice.
inbox_document_idNoDocument ID from list_inbox or upload_receipt.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (which only say it's a write, open-world, non-destructive op). It discloses that a booked purchase cannot be edited directly and that Fiken cancels and creates a new draft, that each call is confirmed by default, that the action 'reaches other people', and that a scoped Cotlet API key is required. This is exactly the extra context an agent needs before a mutating call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and dense with useful detail, but there is mild redundancy, e.g. the opening sentence repeats the two purchase types that also appear in the 'like Registrer kjøp' clause, and several short philosophical sentences ('Reaches other people') add bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and 11 parameters, so the description carries the load, and it does: it covers the workflow, prerequisites (supplier_id, bank_account, inbox_document_id), the booking/edit constraint, confirmation behavior, and auth needs. An agent has what it needs to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it clarifies out_of_pocket as 'Utlegg, paid by you personally', explains that unpaid means paid later in Fiken, and describes how lines split the purchase and how inbox_document_id attaches a document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Register a purchase') and immediately distinguishes the two modes it covers: supplier purchase (kjøp fra leverandør) and cash purchase (kontantkjøp). An agent can clearly identify this as the purchase-creation tool versus siblings like fiken_list_purchases or fiken_upload_receipt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing advice ('Check list_purchases for the same invoice number first') and explains the paid_from lifecycle ('an unpaid purchase is paid later in Fiken'). It does not, however, explicitly state when to prefer upload_receipt or other alternatives, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources