# AX Check: invopop.com
Checked 2026-09-26.

Invopop's quickstart and pricing are clear and machine-readable.
17 of 23 checklist items passed, including live quickstart docs and public pricing tables (Dev €0, Pro €500/mo). Only the homepage lacks a Markdown twin.

## Onboarding needs a login

## Coding sessions
Of three independent sessions, two completed and both correctly reported Invopop's tiered pricing (Dev, Pro, Enterprise) with usage-based Pops credits sourced directly from the pricing docs. The third session did not reach a final output.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/2c8d4f58-6934-497a-95ba-ffe558a0c928) · [Read transcript](https://www.ax-check.com/invopop.com/sessions/deepseek.json)
No final output or transcript content exists that states pricing or assumptions.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The transcript supplied contains only the run metadata event (seq 0) with configuration details about the model, sandbox, and execution environment. No actual agent actions, tool calls, credential acquisition, or product operations are present in the data provided.
  Event 0:

  ```text
  Help me build a simple example using Invopop. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
None identified in this transcript.

#### Suggested Changes
None identified in this transcript.

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/a32bb5ef-52c9-4b1c-8ede-2dc5c37fe8b7) · [Read transcript](https://www.ax-check.com/invopop.com/sessions/kimi.json)
Final output gives concrete tiered pricing (Dev 0€/200 Pops, Pro 500€/mo, Enterprise custom, extra Pops 40-1000€) with named assumptions like plan tier, Pops consumption per action, and per-country government app fees.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Invopop credentials. Every API call made without a token returned 401, and the agent correctly identified that account signup requires interactive browser-based steps (Google OAuth or email) plus manual workflow publishing in the Console UI to get a workflow UUID. It wrote a script that requires INVOPOP_TOKEN and INVOPOP_WORKFLOW_ID as environment variables but never had real values to supply, so the authenticated operation was never executed — only a graceful exit with setup instructions.
  Event 48:

  ```text
  {"message":"missing authorization token"}
  
  HTTP 401
  ```
  Event 75:

  ```text
  Missing config. Set INVOPOP_TOKEN and INVOPOP_WORKFLOW_ID first.
  - INVOPOP_TOKEN: create a sandbox workspace at https://console.invopop.com, then generate an API key.
  - INVOPOP_WORKFLOW_ID: in the Console, create a workflow from the 'PDF invoice' template, publish it, and copy its UUID.
  ```
  Event 77:

  ```text
  There is no anonymous access: every endpoint returns `401 missing authorization token` (I tested). The developer workflow starts with an interactive signup at `console.invopop.com`
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Account signup and workflow publishing require interactive browser UI**: Invopop's API requires a bearer token tied to a workspace, and there is no self-service, non-interactive way to create that workspace or token. Signup at console.invopop.com needs Google OAuth or an email flow, and the 'PDF invoice' workflow must be created and published by hand in the Console before its UUID can be used in a job. This is normal product authentication behavior, not a defect, but it fully blocked the agent from running its script end-to-end within the session.
  Event 48:

  ```text
  {"message":"missing authorization token"}
  
  HTTP 401
  ```
  Event 25:

  ```text
  Go to [console.invopop.com](https://console.invopop.com) and select your sign-up method: continue with Google, or enter your email address.
  ```
  Event 77:

  ```text
  I can't do that part for you. Once you have the token and workflow UUID:
  ```

#### Suggested Changes
- **Publish an official JS/TS SDK package to npm**: The agent searched npm for '@invopop/client-js' and 'invopop-client-js' and both returned 'Not found', forcing it to fall back to raw fetch calls against the REST API. If an SDK is intended for developers, publish it under a discoverable npm package name and link it from the quickstart or llms.md so agents and developers don't have to guess package names. Verify by running 'npm view <package-name>' and confirming it resolves, and checking that the quickstart references it explicitly.
  Event 57:

  ```text
  {"error":"Not found"}
  ```
  Event 63:

  ```text
  {"error":"Not found"}
  ```
  Event 65:

  ```text
  No JS SDK is published on npm (`@invopop/client-js` / `invopop-client-js` both 404), so the lightest official path is the plain REST API.
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/303ada3e-8ef6-4608-b795-2b48f9346ff6) · [Read transcript](https://www.ax-check.com/invopop.com/sessions/qwen.json)
Final output states Dev €0/mo, Pro €500/mo, Enterprise custom, with pops usage formula and extra-tier costs, all sourced from the pricing docs (seq 54) as the named assumptions/basis.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent never obtained real Invopop credentials. It confirmed api.invopop.com requires a Bearer token (401 with no token), then wrote run.sh to perform the authenticated flow (ping, create entry, create job, fetch entry), but the script only ran its INVOPOP_TOKEN-unset branch, printing sign-up instructions instead of calling the real API. No console.invopop.com account, workspace, or API key was created. The only successful call shown is the public unauthenticated gobl.dev build preview, not an authenticated product operation.
  Event 54:

  ```text
  {"message":"missing authorization token"}
  
  HTTP 401
  ```
  Event 73:

  ```text
  === Part 2: skipped — INVOPOP_TOKEN not set ===
  To run the hosted-platform half:
    1. Sign up at https://console.invopop.com (Google or email) and create a
       Sandbox workspace.
  ```
  Event 38:

  ```text
  no INVOPOP env vars set
  ```
  Event 79:

  ```text
  Part 2 needs `INVOPOP_TOKEN`, and account sign-up is human-gated (console.invopop.com via Google/email) — I can't create the sandbox workspace or API key myself.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to obtain an API token**: Invopop requires signing up through the Console web UI (Google or email) to create a workspace and generate an API key; there is no API-only path to provision credentials. This is normal product behavior (a human login wall), not a defect, but it stopped the agent from exercising the authenticated half of the quickstart (create entry, create job, fetch entry) in this session.
  Event 54:

  ```text
  {"message":"missing authorization token"}
  
  HTTP 401
  ```
  Event 79:

  ```text
  account sign-up is human-gated (console.invopop.com via Google/email) — I can't create the sandbox workspace or API key myself
  ```

#### Suggested Changes
- **Add a scripted/CLI sandbox provisioning path for agents**: The quickstart's agent Prompt block assumes a human already signed up in the Console and set INVOPOP_TOKEN. Consider a self-service, non-interactive way (CLI or API call) to create a sandbox workspace and API key so agents can finish the full authenticated flow without a human step. Verify by having a fresh agent session obtain a token and call GET /utils/v1/ping successfully with no human involvement.
  Event 29:

  ```text
  I have an Invopop sandbox workspace, an API key in the INVOPOP\_TOKEN environment variable, and I have published the "PDF invoice" workflow template in the Console.
  ```

### Task given to each agent
Help me build a simple example using Invopop. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 84/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html for a text/markdown request; no Markdown representation served.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt links country coverage, pricing, Peppol data, tools and docs with clear starting guidance.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt explains how to read the site, markdown twins, canonical origin and sitemap.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt points to API docs, GOBL, console and developer resources.
  ```

- **Pass** — A compact guide representation exists

  ```text
  llms.txt documents .md twins for every content page, e.g. coverage and blog guides.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Quickstart.md fetched directly with sign-up, workflow, upload and processing steps.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Quickstart.md is 5008 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Quickstart gives concrete steps: sign up, create sandbox, workflow, upload and process invoice via Console or API.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Console, docs, and quickstart links fetched successfully; console.invopop.com returned 200.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Docs quickstart at docs.invopop.com/get-started/quickstart gives concrete signup, workflow, upload, process steps.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Quickstart shows extractable JSON request bodies and API endpoints; no CLI install commands offered.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Quickstart includes full JSON invoice examples and API request bodies inline, no interaction needed.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Quickstart requires signup, sandbox workspace, and INVOPOP_TOKEN API key in environment.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page renders full plan and cost tables as static text without interaction.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Dev €0, Pro €500/mo, Pops bundles and per-country €300/mo all stated publicly.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Pops credits, per-doc costs, per-country seats and bundle tiers are explicitly defined.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  2 of 3 sessions were judged on pricing; 0 fell short. Kimi K3: Final output gives concrete tiered pricing (Dev 0€/200 Pops, Pro 500€/mo, Enterprise custom, extra Pops 40-1000€) with named assumptions like plan tier, Pops consumption per action, and per-country government app fees. Qwen 3.8 Max: Final output states Dev €0/mo, Pro €500/mo, Enterprise custom, with pops usage formula and extra-tier costs, all sourced from the pricing docs (seq 54) as the named assumptions/basis. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  API reference introduction fetched at docs.invopop.com/api-ref/introduction, listing Silo, Transform, Sequences, Access, Utils services.
  ```

- **Skipped** — An MCP server is documented and well-formed

  ```text
  No MCP server documentation found in the fetched evidence.
  ```

- **Skipped** — A CLI install path is documented

  ```text
  No CLI install path documented in the fetched pages.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No SDK package registry lookup results supplied in the evidence.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published or referenced in the fetched evidence.
  ```



[Full report data](https://www.ax-check.com/invopop.com/report.json)
