Skip to main content
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.
Maersk is a global ocean carrier and logistics provider. Connecting Maersk to Duvo lets your agents pull invoice headers and per-container demurrage and detention charges straight from your Maersk account, so freight spend checks and charge disputes run against live data instead of manual portal exports.
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.
Register the app before you need the connection. Access to each API product is approved manually by Maersk and bound to your customer code, and Maersk does not publish a turnaround time — starting early avoids a wait later.

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.
Each request is reviewed by Maersk and granted against a specific customer code. Requesting one does not grant the other.
Until a product is approved, calls to it return 403 even though your credentials are valid. Duvo reports that as a distinct message so you can tell it apart from a bad Client ID or Secret.

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.
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.
Enter the country-prefixed form as your Customer Code. If demurrage and detention lookups report an invalid customer code, pass the numeric form on the request instead — the charges tool accepts an override.
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.

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.