Beta — This connection is in beta and may change. It is enabled per team: if Maersk does not appear on your Connections page, ask Duvo to turn it on.
This connection returns invoice headers — invoice number, bill of lading, dates, amounts, currency, and status. Maersk’s API does not expose charge line items or the invoice PDF. See What this connection cannot do.
Setup
Confirm prerequisites
A Maersk account with a customer code. Your code starts with a two-letter country code, for example
DK00007951.An account on the Maersk Developer Portal. Registration is self-service — you do not need a sales representative to create the account.
An app registered on the portal, which gives you a Consumer Key and Consumer Secret.
Request access to the API products
On the Developer Portal, request access for your app to both products this connection uses:
- Ocean Invoices — invoice headers by customer code.
- Import Demurrage & Detention — per-container free time and accrued charges.
Add the connection in Duvo
On the Connections page, open Maersk and fill in these fields:
string
required
The Consumer Key of your app on the Developer Portal. Maersk also requires it as the
Consumer-Key header on every call, which Duvo handles for you.string
required
The Consumer Secret of the same app.
string
required
Your Maersk customer code, starting with a two-letter country code — for example
DK00007951. Used as the default for both tools; individual requests can override it.string
Leave empty for production. Enter
pre-production to target api-stage.maersk.com instead. Access to each environment is granted separately.string
Enter
true if your country permits credit transfers for cancelled invoices. Leave empty for false. Affects how Maersk reports credits, and an agent can override it on an individual request if credits come back wrong.Two different customer codes
Two different customer codes
Maersk identifies a customer differently across the two APIs, and for some accounts the two values differ:
- Ocean Invoices uses the country-prefixed form, such as
DK00007951. - Import Demurrage & Detention uses a carrier customer code that is often all digits, such as
33100971688.
Rate limits
Rate limits
Maersk allows 1,000 calls per hour and 60 calls per minute per Consumer Key, shared across every API product. Duvo caches the access token between calls so a scheduled run over many bills of lading does not spend the quota re-authenticating, and reports a
429 with the quota named so it is clear what was hit.Third-party documentation
Third-party documentation
- Maersk Developer Portal — registration, app creation, and API product access requests.
- Maersk API Solutions — overview of the API programme and available products.
- MyFinance invoice help — viewing, downloading, and disputing invoices, including the invoice PDFs this connection cannot retrieve.
Capabilities
- List ocean invoices — retrieve invoice headers for a customer code by category (open, paid, overdue, or credits), with invoice number, bill of lading, invoice and due dates, invoiced and open amounts, currency, and status.
- Filter by document or date — narrow to specific bills of lading, invoice numbers, or payment receipt numbers, or to a date range. A date range is required when listing paid invoices without specific documents.
- Check demurrage and detention — for a bill of lading, get per-container free days, free-time start and last free date, chargeable days, the accrued amount with its per-day rate tiers, and whether the charge is final or still an estimate.
- Work across Maersk brands — Maersk A/S, Safmarine, Sealand Americas, Sealand Europe, Sealand Asia, and Maersk Line Limited, selected per request by carrier code.
What this connection cannot do
Being explicit here saves a wasted agent run:- No charge line items. Maersk’s Ocean Invoices API returns header-level data only. To see what makes up an invoice total, open the invoice PDF in MyFinance on maersk.com, or use the demurrage and detention tool — that is where the per-container charge detail lives.
- No invoice PDF download. The API has no document endpoint. Results flag whether a PDF exists on maersk.com, but retrieving it is a portal action.
- No pagination. Maersk returns every matching invoice in one response. Duvo caps what it hands back and tells the agent how many were omitted, so broad queries should be narrowed with a date range or specific document numbers.
- Import shipments only, within a window. Demurrage and detention are available from 10 days before vessel arrival to 250 days after. Outside that window Maersk returns nothing.
Key Benefits
- Freight spend checks on live data — agents read current invoice status instead of a stale portal export.
- Charge detail where disputes happen — demurrage and detention are the most commonly disputed ocean charges, and the per-container breakdown is available directly.
- Clear failure messages — an unapproved API product, a rejected credential, and a rate limit each report differently, so setup problems are quick to place.
- Scales across bills of lading — token caching and result caps mean a scheduled run over many shipments stays inside Maersk’s quota.
Works Well With
Google Sheets
Build freight spend summaries or demurrage exposure trackers from invoice and charge data.
Microsoft Excel
Reconcile Maersk invoice headers against internal accruals in a spreadsheet.
Intelligent Document Reader
Extract charge line items from invoice PDFs the API does not return.
Gmail
Pull invoice PDFs that arrive by email, or send overdue and dispute follow-ups.
Slack
Alert the team when demurrage starts accruing or an invoice goes overdue.
Enterprise Browser
Retrieve invoice PDFs and line-item detail from MyFinance when the API is not enough.