Ordrestyring API and MCP server Let your AI agent run your Ordrestyring paperwork.

Orders, hours, materials and planning for your Ordrestyring account. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Ordrestyring
Ordrestyring logo Ordrestyring Cloud Browser

12 tools Read and write

Order to invoice

What can you automate in Ordrestyring? Use an AI agent, a workflow or a script.

  • Create an order from a call

  • Log hours from a message

  • Book materials after a job

  • Plan next week's crew

  • Approve hours before payroll

  • Prepare invoice drafts

API key from support

Does Ordrestyring have an MCP server or an API? An API with a key from support, and no MCP server.

Ordrestyring has a GraphQL API and no official MCP server (checked 31 Oct 2026). The API key is not self-serve: you ask Ordrestyring support for it. Cotlet runs 12 Ordrestyring tools hosted, over MCP for agents and REST for scripts.

  • The public docs show one query, cases, and two example mutations. The full list of operations sits in GraphiQL behind the key.
  • Limits: 1,000 requests a minute on weekdays 05:30 to 23:59, 4,500 at night and on weekends, and a hard cap of 60 a minute on every route.
  • Zapier, Make and n8n have no Ordrestyring app that we found. The listed integrations cover accounting and payroll, not orders, hours or planning.
Ordrestyring's GraphQL API, a GitHub MCP server and Cotlet compared
What you need GraphQL APIGitHub MCP serverCotlet
Start without asking support No, key from support No, needs the same key Yes, your own login
Works from an AI agent No MCP server Yes, you run it Yes, hosted
Read orders, hours and materials If you write queries Yes Yes
Log hours, plan crews, draft invoices If you write mutations Off by default, you opt in Yes, risky ones ask first
Allowed by Ordrestyring's terms Yes, official Yes, official API Uses the web app

Checked 31 Oct 2026. Sources: Ordrestyring GraphQL API docs · Ordrestyring subscription terms · Ordrestyring pricing

Set up once

How does Cotlet connect to Ordrestyring? One account, two ways to connect.

  1. 1Sign in to Ordrestyring

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run your workflow

    Ask your agent or send an HTTP request.

We never keep your Ordrestyring password, and nothing that lands in a fitter's app or locks hours happens until you approve it. Who can see your session

Any MCP client

Connect Ordrestyring to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

  1. 1

    Enable Ordrestyring for agents. Sign up, log in to Ordrestyring in its Cloud Browser, then press Enable for agents.

  2. 2

    Add the Cotlet address. Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.

  3. 3

    Approve the connection. Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.

One shared address, https://cotlet.dev/mcp/v1, also carries Ordrestyring next to your other apps. If you enable Ordrestyring after connecting, refresh the connector so the new tools show up.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-ordrestyring \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-ordrestyring": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-ordrestyring]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: ordrestyring_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: ordrestyring_write
Scripts and HTTP

How to use the Ordrestyring REST API

Create your Cotlet API key

Create a Cotlet API key with access to Ordrestyring and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.

Connect Ordrestyring in Cotlet and enable it for agents. Account access: Your own Ordrestyring user (planning, customers and hour approval need the matching rights or an Admin; a basis user reaches only the orders assigned to them).

Make your first Ordrestyring API request

REST
curl "https://cotlet.dev/api/v1/ordrestyring/orders?status=in_progress" \
  -H "Authorization: Bearer $COTLET_API_KEY"

Read orders and apply the operation limits

A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt
{
  "status": "success",
  "app": "ordrestyring",
  "tool": "list_orders",
  "result": {
    "orders": [
      {
        "order_id": "10482",
        "customer": "Nørregaard Ejendomme",
        "title": "Badeværelse Nørrebro",
        "status": "in_progress",
        "responsible": "Jonas H."
      },
      {
        "order_id": "10469",
        "customer": "Fjordvej Boligforening",
        "title": "Tagrende udskiftning",
        "status": "in_progress",
        "responsible": "Jonas H."
      }
    ],
    "next_cursor": null
  }
}

Returns the orders from the Orders menu with customer, status and responsible employee. The default statuses are open, in progress, closed, posted and cancelled, and your firm may have renamed them.

A basis user sees only the orders assigned to them and the statuses their group may see.

Replace in_progress with the status you need, or leave it out for every order you may see.

Keep the same filters when continuing a list. Compare changed record values as well as order numbers when refreshing your destination.

Ordrestyring workflows for agents and automations

Ordrestyring workflows you configure
ToolConnect throughExample workflow
n8nHTTP RequestRead the hours sent for approval each Friday. Use list_time_entries in your configured payroll report.
MakeHTTP > Make a requestRead the economy totals of an order into a sheet. Use get_order in your configured business report.
Python or Node.jsREST APIFlag material lines where cost and sales price are equal. Use list_material_lines in your configured business report.

Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Ordrestyring; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.

6 read, 6 write

Ordrestyring API endpoints and MCP tools

Orders and customers4

An order needs a customer, so create_order takes a customer ID from the customer list. Basis users see only the orders assigned to them.

  • list_orders Orders with customer, status and responsible employee, newest first. read

    Lists the orders in the Orders menu (ordrer). Each row has the order number, customer and status. The default statuses are open, in progress, closed, posted and cancelled; your firm may have renamed or added labels. Basis users only see the orders they are assigned to and the statuses their group may see. Use get_order for hours and materials.

    MCP callordrestyring_read → list_orders

    REST endpointGET https://cotlet.dev/api/v1/ordrestyring/orders

    Parameters

    Parameters: list_orders
    NameTypeDescription
    status string string open, in_progress, closed, posted or cancelled. Omit for all you may see.
    query string string Order number, customer name or text in the order.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "orders": [
        {
          "order_id": "10482",
          "customer": "Nørregaard Ejendomme",
          "title": "Badeværelse Nørrebro",
          "status": "in_progress",
          "responsible": "Jonas H."
        },
        {
          "order_id": "10477",
          "customer": "Birgit Lund",
          "title": "Varmepumpe service",
          "status": "open",
          "responsible": "Mikkel S."
        },
        {
          "order_id": "10469",
          "customer": "Fjordvej Boligforening",
          "title": "Tagrende udskiftning",
          "status": "in_progress",
          "responsible": "Jonas H."
        }
      ],
      "next_cursor": null
    }
  • get_order One order with its customer, status and the economy totals. read

    Returns what the order page shows: customer, status, responsible employee and the Economy tab (Økonomi): hours, materials and other costs booked so far, plus the offer total when the order came from an offer. Use list_time_entries and list_material_lines for the lines behind the totals.

    MCP callordrestyring_read → get_order

    REST endpointGET https://cotlet.dev/api/v1/ordrestyring/orders/{order_id}

    Parameters

    Parameters: get_order
    NameTypeDescription
    order_id string required string Order number from list_orders.

    Example input

    {
      "order_id": "order_8c41d2"
    }

    Example response

    {
      "order_id": "10482",
      "customer": "Nørregaard Ejendomme",
      "title": "Badeværelse Nørrebro",
      "status": "in_progress",
      "responsible": "Jonas H.",
      "economy": {
        "hours": 42.5,
        "materials_cost": 18240,
        "other_costs": 0,
        "offer_total": 96000,
        "currency": "DKK"
      }
    }
  • list_customers Customers from the customer list, searchable by name. read

    Lists the customer list (kunder). An order cannot be created without a customer, so create_order takes a customer_id from here. The user needs the right to see the customer list; basis users may not have it.

    MCP callordrestyring_read → list_customers

    REST endpointGET https://cotlet.dev/api/v1/ordrestyring/customers

    Parameters

    Parameters: list_customers
    NameTypeDescription
    query string string Part of the customer name.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "customers": [
        {
          "customer_id": "3021",
          "name": "Nørregaard Ejendomme",
          "city": "København N"
        },
        {
          "customer_id": "3035",
          "name": "Birgit Lund",
          "city": "Frederiksberg"
        }
      ],
      "next_cursor": null
    }
  • create_order Create an order for an existing customer. write

    Does what Create > Order does. An order needs a customer, so pass a customer_id from list_customers. A new order gets the default status and type set in your system settings, and an order template can fill in materials, forms and sub-orders. It reaches nobody until someone is planned on it, so it needs no approval. Cancel the order in Ordrestyring to undo it.

    MCP callordrestyring_write → create_order

    REST endpointPOST https://cotlet.dev/api/v1/ordrestyring/customers/{customer_id}/orders

    Parameters

    Parameters: create_order
    NameTypeDescription
    customer_id string required string Customer ID from list_customers.
    title string required string Short title of the job.
    description string string What the job is.
    template string string Name of an order template. Omit for none.

    Example input

    {
      "customer_id": "customer_8c41d2",
      "title": "title"
    }

    Example response

    {
      "order_id": "10491",
      "customer": "Birgit Lund",
      "title": "Utæt vandhane køkken",
      "status": "open"
    }

Hours and materials5

Hours already approved cannot be edited by anyone. Approval needs the Time approval add-on and an Admin.

  • list_time_entries Hours registered on an order or by an employee for a week or period. read

    Does what My hours (Mine timer) and an order's Time spent (Timeforbrug) show: date, time type, order number, from and to, description, and the approval status when the Time approval add-on is on. Billable and non-billable hours are both returned. Pass order_id for one order or employee for one person.

    MCP callordrestyring_read → list_time_entries

    REST endpointGET https://cotlet.dev/api/v1/ordrestyring/time-entries

    Parameters

    Parameters: list_time_entries
    NameTypeDescription
    order_id string string Only hours on this order.
    employee string string Employee name. Omit for yourself.
    from date date First day of the period.
    to date date Last day of the period.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "entries": [
        {
          "entry_id": "h_88120",
          "date": "2026-10-28",
          "employee": "Jonas H.",
          "time_type": "Svendetime",
          "order_id": "10482",
          "from": "07:00",
          "to": "15:30",
          "hours": 8,
          "description": "Fliser i bad",
          "approval": "pending"
        },
        {
          "entry_id": "h_88131",
          "date": "2026-10-29",
          "employee": "Jonas H.",
          "time_type": "Svendetime",
          "order_id": "10482",
          "from": "07:00",
          "to": "14:30",
          "hours": 7,
          "description": "Fuger og armatur",
          "approval": "pending"
        }
      ],
      "next_cursor": null
    }
  • log_time Register hours on an order for the signed-in employee. write

    Does what My hours (Mine timer) does: date, time type, order number, from and to and a description. Some time types, such as sickness, need no order. Hours that are already approved cannot be changed, by anyone. The entry reaches nobody and can be edited or deleted in Time spent on the order, so it needs no approval.

    MCP callordrestyring_write → log_time

    REST endpointPOST https://cotlet.dev/api/v1/ordrestyring/times

    Parameters

    Parameters: log_time
    NameTypeDescription
    date date required date Day the work was done.
    time_type string required string Time type as named in your firm, for example Svendetime.
    order_id string string Order number. Omit for time types that need none.
    from time required time Start time, HH:MM.
    to time required time End time, HH:MM.
    description string string Short text on the registration.

    Example input

    {
      "date": "2026-10-30",
      "time_type": "Svendetime",
      "order_id": "10482",
      "from": "07:00",
      "to": "15:00",
      "description": "Fliser i bad"
    }

    Example response

    {
      "entry_id": "h_88140",
      "date": "2026-10-30",
      "time_type": "Svendetime",
      "order_id": "10482",
      "from": "07:00",
      "to": "15:00",
      "hours": 8,
      "approval": "not_sent"
    }
  • approve_hours Approve or reject hours that employees sent for approval. writeasks first

    Does what the administrator's Time approval menu (Timegodkendelse) does, so it needs the Time approval add-on switched on and an Admin user. Approved hours can no longer be edited by anyone and are what the payroll integration picks up. A rejected entry goes back to the employee. By default you confirm each call; you can switch that off for this tool.

    MCP callordrestyring_write → approve_hours

    REST endpointPOST https://cotlet.dev/api/v1/ordrestyring/hours/approve

    Parameters

    Parameters: approve_hours
    NameTypeDescription
    entry_ids array required array Entry IDs from list_time_entries with approval pending.
    decision string required string approve or reject.

    Example input

    {
      "entry_ids": "entry ids",
      "decision": "decision"
    }

    Example response

    {
      "decision": "approve",
      "approved": [
        "h_88120",
        "h_88131"
      ],
      "status": "approved"
    }
  • list_material_lines Materials booked on an order, with cost and sales price. read

    Does what Material usage (Materialeforbrug) on an order shows: each line with item number, quantity, cost price and sales price. A line is marked manual when it was typed in the app or on the PC, and edi when it came from a supplier invoice in the Inbox. A line whose cost and list price are equal is flagged, because it often means your price agreement was not read in.

    MCP callordrestyring_read → list_material_lines

    REST endpointGET https://cotlet.dev/api/v1/ordrestyring/orders/{order_id}/material-lines

    Parameters

    Parameters: list_material_lines
    NameTypeDescription
    order_id string required string Order number from list_orders.

    Example input

    {
      "order_id": "order_8c41d2"
    }

    Example response

    {
      "order_id": "10482",
      "lines": [
        {
          "item_number": "FL-3030-HV",
          "description": "Gulvflise 30x30 hvid",
          "quantity": 14,
          "cost_price": 118,
          "sales_price": 189,
          "source": "edi"
        },
        {
          "item_number": "FUGE-5",
          "description": "Fugemørtel 5 kg",
          "quantity": 3,
          "cost_price": 96,
          "sales_price": 96,
          "source": "manual",
          "flagged": true
        }
      ],
      "currency": "DKK"
    }
  • add_material_line Book a material on an order. write

    Does what adding in Material usage (Materialeforbrug) does: search by item number or name in your wholesale catalogs and internal items, or type a line by hand with a price. From a catalog the cheapest supplier is the default. The line reaches nobody and can be edited or moved to another order in the app, so it needs no approval.

    MCP callordrestyring_write → add_material_line

    REST endpointPOST https://cotlet.dev/api/v1/ordrestyring/orders/{order_id}/material-lines

    Parameters

    Parameters: add_material_line
    NameTypeDescription
    order_id string required string Order number from list_orders.
    item string required string Item number or name to search for, or a free text line.
    quantity number required number Quantity.
    cost_price number number Only for a hand-typed line.
    sales_price number number Only for a hand-typed line.

    Example input

    {
      "order_id": "order_8c41d2",
      "item": "item",
      "quantity": 1
    }

    Example response

    {
      "order_id": "10482",
      "item_number": "FL-3030-HV",
      "description": "Gulvflise 30x30 hvid",
      "quantity": 4,
      "cost_price": 118,
      "sales_price": 189,
      "source": "manual"
    }

Planning and invoice drafts3

Planned time shows in the fitter's app at once. Invoice drafts are never sent from here.

  • list_planned_tasks The day overview: who is planned on which order, day by day. read

    Does what the Day overview (Dagsoversigt) shows for a day or a week: planned time per employee with order, start and end. Planned time with an order is what the fitter sees in the app. Personal and other events are returned too, without customer data.

    MCP callordrestyring_read → list_planned_tasks

    REST endpointGET https://cotlet.dev/api/v1/ordrestyring/planned-tasks

    Parameters

    Parameters: list_planned_tasks
    NameTypeDescription
    from date required date First day.
    to date date Last day. Default is the same day.
    employee string string Employee name. Omit for everyone you may see.

    Example input

    {
      "from": "2026-10-01"
    }

    Example response

    {
      "tasks": [
        {
          "task_id": "p_5521",
          "date": "2026-11-03",
          "employee": "Jonas H.",
          "kind": "planned_time",
          "order_id": "10482",
          "from": "07:00",
          "to": "15:00"
        },
        {
          "task_id": "p_5524",
          "date": "2026-11-03",
          "employee": "Mikkel S.",
          "kind": "planned_time",
          "order_id": "10477",
          "from": "08:00",
          "to": "12:00"
        }
      ]
    }
  • plan_task Plan an employee on an order for a start and end time. writeasks first

    Does what clicking a day in the Day overview (Dagsoversigt) does for planned time. It needs an order, because the fitter's app shows the order and customer details with it, so the employee sees it at once. Pass several employees to put them on the same order. Planned time is not worked time: it books no hours. Delete it in the Day overview to undo it. By default you confirm each call; you can switch that off for this tool.

    MCP callordrestyring_write → plan_task

    REST endpointPOST https://cotlet.dev/api/v1/ordrestyring/orders/{order_id}/task/plan

    Parameters

    Parameters: plan_task
    NameTypeDescription
    order_id string required string Order number from list_orders.
    employees array required array Employee names.
    date date required date Day to plan.
    from time time Start time, HH:MM. Default is the firm's opening hours.
    to time time End time, HH:MM.

    Example input

    {
      "order_id": "order_8c41d2",
      "employees": "employees",
      "date": "2026-10-01"
    }

    Example response

    {
      "order_id": "10477",
      "date": "2026-11-04",
      "planned": [
        {
          "employee": "Mikkel S.",
          "from": "08:00",
          "to": "12:00"
        }
      ],
      "status": "planned"
    }
  • create_invoice_draft Start an invoice draft from the hours and materials of an order. write

    Does what fetching lines into an invoice draft (fakturakladde) does: the fitters' registered hours and materials on the order become lines. Nothing is sent to the customer or the accounting system. The draft stays in Ordrestyring until the owner reviews it, approves it and sends it, so the tool needs no approval.

    MCP callordrestyring_write → create_invoice_draft

    REST endpointPOST https://cotlet.dev/api/v1/ordrestyring/orders/{order_id}/invoice-drafts

    Parameters

    Parameters: create_invoice_draft
    NameTypeDescription
    order_id string required string Order number from list_orders.
    include string string hours, materials or both. Default both.

    Example input

    {
      "order_id": "order_8c41d2"
    }

    Example response

    {
      "order_id": "10482",
      "draft_id": "d_2207",
      "lines": 11,
      "hours": 42.5,
      "materials_total": 26110,
      "currency": "DKK",
      "status": "draft"
    }
Encrypted, revocable

Who can see my Ordrestyring session, and how do I revoke it?

  • What we store

    Your logged-in Ordrestyring profile, encrypted with AES-256-GCM, in Finland. Not the password.

  • What your agent gets

    The 12 Ordrestyring tools. Never the cookie.

  • What the session sees

    What your user sees: orders, customers, hours, materials, planning.

  • What no tool touches

    Sending invoices, subscription, payroll, passwords and deleting.

  • If Ordrestyring logs you out

    Your agent gets a link. You sign in again, we never type your password.

  • How to cut access

    Disable for agents, reset the browser, or change your Ordrestyring password.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). There is no SOC 2 report or third-party pentest yet.

Account risk

Is it against Ordrestyring's terms? Account safety The terms name no automation rule, but they cover logins.

"Aceve reserves the right to put technical measures in place and enforce them, including access control, limits on simultaneous logins and IP validation, to protect the application from misuse and unauthorised use. Aceve may suspend access without notice on suspicion of unauthorised or improper use."
Ordrestyring subscription terms, section 2.6 (translated from Danish)

Section 2.4 makes each user licence personal, one person per account, and section 2.3 makes you answerable for what is done through your login. The terms never mention bots, scraping or AI agents. We found no public case of an Ordrestyring account closed for automation (checked 31 Oct 2026). Connect your own user, not a login shared with a colleague.

How we keep your account looking like you

  • Your own user, logged in by you
  • One Cloud Browser with its own IP and cookies
  • Planning and hour approval wait for your OK
  • No tool deletes an order, customer or invoice
  • If Ordrestyring objects, we pause the Ordrestyring tools for everyone within 24 h

Ordrestyring may suspend access without notice on suspicion of misuse. Start with reads and a few writes, then widen.

Tested every 12 h

What happens when Ordrestyring changes? We repair the tool; your prompts stay the same.

between tests of the Ordrestyring reads
12 h
for a call to an Ordrestyring tool paused for repair
$0

When Ordrestyring moves a button or renames a field, the fix happens on our side and your prompts keep working. status.cotlet.dev watches the site, console and API every 3 minutes.

2 tools ask first

Approvals, undo and mistakes Fitters and payroll hear nothing until you say so.

  1. 01 Reads the order Checks the order, its status and the hours already booked.
  2. 02 Prepares the change Planned time, or the hours to approve, listed by name.
  3. 03 Waits for your OK The call shows up in your Cotlet console first.
  4. 04 Reports the result Order, employee, times, and what could not be saved.
Which Ordrestyring actions can be undone
ActionUndo
Create an orderCancel the order in Ordrestyring
Log hours or book a materialEdit or delete the line on the order
Plan an employeeDelete the planned time in the Day overview; the fitter has already seen it
Approve hoursNo, approved hours cannot be edited by anyone
Create an invoice draftDelete or edit the draft; nothing was sent

2 of 12 tools ask first: plan_task and approve_hours. One puts a job in a fitter's app, the other locks hours for payroll. Drafts, hours, materials and new orders reach nobody, so they run at once. Switch the wait off per tool for a scheduled run.

Logged hours stay editable until they are sent for approval and approved. Check payroll hours before you approve them.

MCP call
{
  "name": "log_time",
  "arguments": {
    "date": "2026-10-30",
    "time_type": "Svendetime",
    "order_id": "10482",
    "from": "07:00",
    "to": "15:00",
    "description": "Fliser i bad"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/ordrestyring/times \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-10-30","time_type":"Svendetime","order_id":"10482","from":"07:00","to":"15:00","description":"Fliser i bad"}'
Tool output
{
  "entry_id": "h_88140",
  "date": "2026-10-30",
  "time_type": "Svendetime",
  "order_id": "10482",
  "from": "07:00",
  "to": "15:00",
  "hours": 8,
  "approval": "not_sent"
}

Scripts and cron jobs reach the same tools over REST at /api/v1/ordrestyring, with the same key and price. Time approval fails on an account without the add-on, and a failed call costs nothing. The tools table lists the REST path of each tool.

Pay per call

How much does the Ordrestyring MCP server cost?

About $22 a monthfor a firm with 8 fitters, 3,740 credits. Your Ordrestyring licences are billed by Ordrestyring as before.

A month of Ordrestyring jobs for one firm, in credits
JobCallsCredits
Create an order for a new job2 × 20400
Log hours and book materials after a job3 × 401,200
Plan next week's crew5 × 4200
Approve hours before payroll2 × 480
Draft invoices for finished orders3 × 12360
Cloud Browser, 30 days1,500
Total3,740
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Uses a licence you already pay for

The month is our example: 20 new orders, 40 jobs with hours and materials, 4 weekly plans and 12 invoice drafts. Ordrestyring lists 339 DKK per user a month for 1 to 10 users with a 12-month commitment (31 Oct 2026). Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Ordrestyring MCP server on GitHub or hosted: which to use One community server exists.

Other Ordrestyring tools on GitHub and elsewhere, checked 31 Oct 2026
OptionWhat it doesWhere it stops
borgels/mcp-server-ordrestyringTypeScript MCP server on the GraphQL API with tools for orders, customers, time, materials, planning and invoice drafts. Read-only by default. 0 stars, created 13 May 2026, last commit 31 Oct 2026.Independent project. Needs an API token from Ordrestyring support and you run it. Writes need an opt-in and a prepared operation hash.
LasseRafn/php-ordrestyringPHP wrapper for the old REST v2 API.Last commit 19 Apr 2023, the REST API is marked legacy.
Ordrestyring's listed integrationsAccounting and payroll systems such as e-conomic, Dinero, Uniconta and Zenegy.Fixed flows for invoices and hours, nothing for an agent.
Your own GraphQL scriptAnything the key allows.Key from support, a developer to write and keep it, a hard cap of 60 requests a minute on every route.

If you already hold an API token and run Node.js, the GitHub server is a reasonable free start. Cotlet suits firms with no token and no developer: you sign in with your own user, we host and fix the tools, and n8n, Make and scripts reach the same ones over REST.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the Ordrestyring tools.

Ordrestyring API and MCP: questions

How do I get access?

Create a free account at https://cotlet.dev, open Ordrestyring under Integrations in the console and log in to Ordrestyring in its Cloud Browser. The trial starts with your first app, no card asked.

How do I connect Ordrestyring to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Ordrestyring once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Ordrestyring account through Cotlet, in their phone apps too.

What can ChatGPT do in Ordrestyring?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Ordrestyring: log the day\; book materials after a job; create an order from a customer call. You ask in plain words, and anything that reaches other people waits for your OK first.

How do I get an Ordrestyring API key?

You ask Ordrestyring support, by chat in the system or by email, and they send the token (checked 31 Oct 2026). Cotlet needs no key: it works in your own login.

Which Ordrestyring user does my agent need?

Your own user. A basis user can log hours and book materials on orders assigned to them. Planning, hour approval and the customer list need the matching rights or an Admin, and approval also needs the Time approval add-on.

Can the agent send an invoice?

No. create_invoice_draft fetches hours and materials into an invoice draft and stops there. You or the owner review, approve and send it in Ordrestyring, which is also when the order moves to posted.

Does Ordrestyring have a free trial?

Yes, 14 days on its own site (checked 31 Oct 2026). After it the standard licence is 339 DKK per user a month for 1 to 10 users with a 12-month commitment. Cotlet adds no Ordrestyring fee.

Is the MCP server different from the REST API?

Only the door is different. Both expose the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with Ordrestyring?

No. Cotlet is independent and not affiliated with Ordrestyring ApS or Aceve.

Can I use the Ordrestyring API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

Give your agent access to Ordrestyring.

Free 7-day trial with 2,000 credits, no card needed.