Apier

Use case

Norwegian compliance infrastructure for regnskapsbyrå

Maskinporten, Altinn 3, and Brønnøysund — without your firm rebuilding the integration for every new client.

Apier is the regulatory infrastructure layer for Norwegian regnskapsbyrå operating multi-client portfolios — not a bookkeeping tool, not a client-facing dashboard.

What scales linearly with portfolio size

Running a regnskapsbyrå at multi-client scale exposes three operational surfaces that the per-firm accounting software wasn't designed for:

What Apier provides — nine infrastructure components

Each component is consumable as REST, as MCP, or as both. Your staff and any AI assistants your firm runs see the same verdicts; the determinism contract holds across surfaces.

MCP server — for the AI assistants your staff use

If your firm uses Claude Desktop, Cursor, or another MCP-compatible AI assistant, @apier-no/mcp lights up the full Apier tool surface inside the assistant. Same auth, same per-client scopes, same determinism contract as the REST surface. See /use-cases/ai-agents for the developer-facing detail.

Claude Desktop / Cursor config

{
  "mcpServers": {
    "apier": {
      "command": "npx",
      "args": ["-y", "@apier-no/mcp"],
      "env": { "APIER_API_KEY": "apier_live_<your_key>" }
    }
  }
}

Source + issues: github.com/PowerLaunch/apier-mcp. Package page: npmjs.com/package/@apier-no/mcp.

What a call looks like

One Bearer API key per firm; the per-client authority comes from each client's active Altinn 3 System User delegation.

REST — curl against the obligations endpoint

curl -H "Authorization: Bearer apier_live_<your_key>" \
  "https://www.apier.no/api/v1/company/991825827/obligations"

No-auth dry-run against synthetic data: curl https://www.apier.no/api/v1/sandbox/public/company/999999999/obligations.

FAQ

How is Apier different from Tripletex, Fiken, PowerOffice, or Conta?
Those are accounting software platforms — your staff enters bookkeeping data and the platform generates filings for one company at a time. Apier is the regulatory infrastructure layer underneath: a single API exposing per-client obligation verdicts, deadline math, Altinn 3 delegations, and centrally-brokered Maskinporten across your full client portfolio. They run alongside Apier, not instead of it. Apier covers the cross-client portfolio operations the per-firm software wasn't designed for.
Can our staff act on behalf of every client company through one Apier account?
Yes. Each client grants your firm an Altinn 3 System User delegation (a one-time client-side step, typically by their innehaver or daglig leder). Apier brokers Maskinporten centrally on your account — one enterprise certificate (virksomhetssertifikat), one Maskinporten client, N client delegations. Per-client scopes determine which Apier endpoints your staff can call for that client; expired or revoked delegations fail closed at the gateway.
What's the easiest way to onboard a new regnskapsbyrå client?
Client side: their innehaver or daglig leder grants your account a System User delegation in Altinn 3, scoped to the access packages your work requires (regnskap, lønn, MVA-rapportering, skatt — pick the minimum needed). The flow takes about five minutes. Apier side: nothing — your integration sees the client at the next request the moment the delegation is active. No separate Apier-side onboarding, no per-client API key juggling.
How does Apier handle the revisor-threshold check across our client portfolio?
GET /api/v1/company/{org_number}/obligations returns a verdict that includes revisor_required: true|false plus the legal_reference (Aksjeloven § 7-6, theaudit-threshold rule for AS entities — currently 27 MNOK omsetning OR 27 MNOK eiendeler OR 50 ansatte). The verdict carries an explanation field so your staff can defend the determination to a client. Run it nightly across your portfolio; threshold crossings emit /api/v1/changes events you can subscribe to and surface in your internal review queue.
How does the MVA-termin cadence work — bimonthly vs yearly, and what about A-melding?
GET /api/v1/company/{org_number}/deadlines returns each filing's next due date in Europe/Oslo timezone with the cadence baked in: MVA bimonthlydefault (Termin 1 jan-feb due 10. april, etc.), yearly for clients under the small-business threshold who've opted in, and the special Skatteforvaltningsloven cases. A-melding (monthly employer disclosure) is on the same surface. DST-aware, weekend / holiday-shifted, with each deadline carrying the relevant legal_reference for audit trail.
What happens for our clients on June 19, 2026 when Altinn 2 sunsets?
DigDir decommissions Altinn 2 on 19 June 2026. Every existing client delegation pointing at Altinn 2 roles stops working that day — there is no automatic carry-over to Altinn 3 access packages. Each of your clients needs to grant a fresh Altinn 3 System User delegation. Apier exposes the Altinn 2 role → Altinn 3 access package mapping as a zero-auth lookup at /api/v1/tools/altinn-migration, and the /use-cases/altinn-migration page covers the deadline, the mapping logic, and the caveat that one Altinn 2 role often splits across multiple Altinn 3 packages (or vice versa).

Get started

Free tier ships with one API key and enough quota to onboard your first clients. The REST surface is curlable from anywhere; the MCP server is a single npx away if your firm runs MCP-compatible AI assistants.