How Shipgoods works, how to connect your store, and every page of your dashboard explained. Each section has its own number — 6.4 is a link you can send straight to someone.
14 chapters · Updated September 2026
Chapter 01
How Shipgoods works
What we do, what you do, and where the line between the two sits.
Shipgoods is the fulfilment side of your business. Your webshop stays exactly where it is — Shopify or WooCommerce. Orders that come in there arrive with us, and we source the product, quality-check it, pack it and ship it to your customer. You see the whole thing, and what it costs, in your dashboard at dashboard.shipgoods.eu.
You pay only the cost of goods: one all-in amount per order, taken off a balance you keep topped up. There is no separate fulfilment fee on your invoice and no subscription.
01A customer buysSomeone orders in your webshop and pays. Nothing for you to do.
02The order arrivesYour store is connected, so the order shows up in the dashboard by itself, usually within minutes. You can force it with SyncOrders.
03We source and packShipgoods buys the product, quality-checks it and packs it. The order status moves from Waiting Process to Processing.
04It shipsA tracking number is attached, the order becomes Trace Added, and the tracking is pushed back to your store so your customer gets a notification.
05You pay for itThe cost of the order comes off your balance. You keep the balance topped up.
It is not your webshop. Product descriptions, the prices your customers pay, marketing and refunds all stay in Shopify or WooCommerce. Changing something in the dashboard does not change your storefront.
You are going to create an app inside your own Shopify admin and give us its credentials. That lets us pull your orders in automatically and push tracking numbers back the moment a parcel leaves. You need to be the store owner, or a staff account with app permissions.
Open Settings in the left menu. Copy the Client ID and the Secret and send them to ship@shipgoods.eu.
Settings → Credentials.
Once we have the keys we connect your store on our side and confirm the same day. Stuck anywhere? Send a screenshot to ship@shipgoods.eu and we will walk you through it.
Go to dashboard.shipgoods.eu. Your user name and password come from Shipgoods — there is no self-registration, and no “forgot password” link. If you are locked out, message your contact.
dashboard.shipgoods.eu — the only page you can reach while signed out.
1User name.Usually looks like SG_YourStore. It is not your email address.
2Password.Set by Shipgoods when your account was created. Ask us to change it if you want your own.
3Captcha.Type the characters from the image next to the box.
4Captcha image.Unreadable? Click the image and a fresh one loads.
5Login.A wrong captcha is the most common reason a login “just doesn't work” — try it again before assuming your password is wrong.
An orange bar across the top that never changes, and a menu down the left with six sections. Everything in this documentation lives in one of those six.
The shell you see on every page. The white area in the middle is the page you opened.
1Shipgoods logo.Click it to come back to the home screen from anywhere.
2Dashboard.Same thing — back to home.
3Welcome [your account].Which account you are signed in as. Worth a glance if you manage more than one store.
4Information.A small menu with Edit (your account details) and Sign out.
5Two counters.Unread order messages and address errors. A red number here means something is waiting for you.
6Currency.Your account is settled in euros. This is a display, not a switch.
7Language.Leave this on English — see 13.1 if your screen looks Dutch.
8The six menu sections.Click one to fold it open; the pages inside appear underneath.
9Tab strip.Pages open as tabs here, like a browser. Right-click a tab to close it.
10Your balance.The first thing on the home screen, and the number to watch.
Each dated block is one day. The amount is that day's total; underneath it you see the individual charges that made it up, and clicking an orange amount opens the detail. If a day looks bigger than expected, the fastest way to see why is Payments → Order Cost (9.2), which lists the same money order by order.
If you only ever open one page in this dashboard, it's this one.
Orders → All Orders. Two orders shown; a busy store shows hundreds.
1SyncOrders.Pulls the newest orders from your store right now. Orders arrive on their own too — use this when you've just placed a test order and want to see it immediately.
2Search row.Pick what you're searching by (order number, product, tracking number, customer name, Shopify ID), then type it in the box next to it.
3Search.Runs the filters above.
4Export.Downloads the filtered list as a spreadsheet.
5Date filters.Three separate ranges: when the order was created, when it was paid, and when it shipped.
6Fulfilment checkboxes.Narrow to orders fulfilled by us, fulfilled elsewhere, or not fulfilled at all.
7Status bar.The heart of the page — each chip filters the list and shows how many orders are in that state. See 6.2.
8Create DIY Order.Make an order by hand, for something that didn't come through your webshop.
9Rows per page and total.Set it to 100 or more if you're scanning a busy day.
10The order line.Date and time, which store it came from, your webshop's order number, destination country, and the customer's name.
11Order Status.Whether the customer paid you — Paid is what you want to see.
12Fulfill Status.Where we are with it. Waiting Process means received but not yet picked up.
13Trace.Shipping: None means no tracking number yet. Once it ships, the tracking number appears here.
14View Order / Read feedback.Open the full order, or read the message thread on it.
Click View Order on any line and you get the whole picture: money at the top left, timing at the top right, the delivery address in the middle, and the products at the bottom.
Orders → All Orders → View Order.
1Order Num.Our reference for this order. Quote it when you message us about it.
2Order Total.What your customer paid you — not what you pay us.
3Buyer.Your customer's name and email as they entered it at checkout.
4Times.When the order arrived here, when it was created in your store, and when it was paid.
5Payment Status.Fully Paid is the green light for us to ship.
6Ship To.The delivery address exactly as we'll use it. If an order is stuck on Address Error, this is where you check what's wrong.
7Order Notes.Notes carried over from your webshop, if any.
8Fulfilled Status.Whether it has shipped from our side.
9The product lines.Which product and variant, at what quantity.
10Subtotal line.How the order total breaks down, including any discount.
Three usual reasons: it isn't paid yet in your webshop, it was placed before your store was connected, or the sync hasn't run. Press SyncOrders first; if it still doesn't appear, message us with the webshop order number.
Chapter 07
Trace — where are my parcels?
Once an order ships it appears here with its tracking number and delivery state.
Search the customer's order number here, copy the tracking number, and send it. If the status is Delivery Failed or the parcel hasn't moved for days, message us with the order number rather than waiting.
Chapter 08
Prices and quotes
A product needs a confirmed price before we can fulfil it. This is where that happens.
Your price list. Every product we've quoted for you, what it costs per country, and whether you've confirmed it.
Quotation → Quotation. Each row is one product; a product can hold several variants.
1Quoted.Products that already have a price. Your working list.
2Pending Quote.Products still waiting for a price from us.
3The red banner.Quoted prices exclude EU fees — read it once so the invoice holds no surprises.
4The batch buttons.Batch Confirm accepts several prices at once; Batch Request Price asks for a price on products already in an order; Get Shopify Products pulls your catalogue over from Shopify.
5Country.Prices differ per destination, so the same product can appear more than once.
6Price.What this product costs you per unit, excluding EU fees.
7Confirm.Your acceptance of the quoted price.
8Fulfil All.Marks this product as one we should fulfil for you.
Products have variants — sizes, colours. Click the small triangle at the start of a row to fold the variants open and see the price for each one. The row count (1 variants, 2 variants) tells you how many are hiding there.
When a product needs your go-ahead before we buy it — a size that runs different, another shade, a similar style — it lands here. This used to reach you as a message; it is now a thread inside the dashboard, with the photo, the variants and the orders waiting on that product all in one place.
A banner across the top of the dashboard tells you when something is waiting: “You have 47 unread product confirmation message(s)”. Click it and you land straight on this page.
Quotation → Product Confirmation. The six counters across the top.
1All.Everything we've put in front of you.
2Pending.Waiting on you. We do not buy the product until you answer.
3In discussion.A conversation is running — a photo, a variant, a substitute.
4Confirmed.Approved and clear to source.
5Archived.Closed off, kept for reference.
6Unread.Items you haven't opened yet.
Answering one, start to finish:
1Open the Pending listQuotation → Product Confirmation, then click the Pending card. That is the queue that is actually waiting on you.
2Click an itemThe thread opens with our question at the top — for example “L size is different, the size is 39x11x18cm, please confirm” — and the variants underneath, each with its photo, the destination country and the price per unit.
3Decide what you are answering forEntire product covers every variant in the thread. Tick Selected variants instead when only some of them are fine, then tick the ones you mean.
4Confirm, or objectConfirm and we source and ship it. Not right? Object with reason and say what is wrong in the chat box — we answer in the same thread, so the whole exchange stays with the product.
Related orders. Every thread lists the orders that are waiting on this product, with their waybill numbers. Copy # puts those order numbers on your clipboard in one click — ready to paste into a reply to your customer. Export gives you the same list as a spreadsheet.
Chapter 09
Payments and balance
What you were charged, per day and per order, and how to put money in.
Take your average daily cost from Daily Cost and top up a week or two ahead of it. It costs nothing to sit in credit, and it takes the balance off your daily worry list entirely.
Chapter 10
Store settings
How your webshop is wired to us, packaging, and keys for your own tools.
A catalogue of the packaging we can use, each with its price. Boxes, zipper bags, phone-case boxes, jewellery cases, earring tags. If you want your orders packed in something specific — or branded — pick it here and tell us.
Store → Store Package.
1The packaging name.What it is.
2Price.Added per order that uses it.
3Id.The reference to quote when you tell us which one you want.
Optional and technical. If you want your order and payment numbers in a spreadsheet, a BI tool or your own script, create a read-only key here. Skip this section entirely if that means nothing to you.
Store → API Keys.
1Your account ID.And how many keys you have of the ten allowed.
2Download API Docs.The full technical reference.
3The endpoints.Read-only: summary, order volume, order status, order trend, payments, order costs, alerts.
4Create new key.Give it a name you'll recognise later, then press Create API Key.
5Your API keys.Name, prefix, scope, status and when it was last used. Revoke kills a key immediately — use it the moment one might have leaked.
Made a key and wondering what to do with it? Chapter 14 walks through using it — including letting Claude Code read your numbers for you, and getting your cost of goods per day right (14.6).
Chapter 11
Products
Two pages most clients rarely need. Worth knowing they exist.
If you've pre-stocked units with us — bought a batch up front to ship faster — this is where you see how many are left. Read-only: the quantities move as orders ship. Empty is normal if you haven't pre-stocked anything.
Products → Stock Inventory.
1Search.By product or SKU.
2Export XLSX.The stock list as a spreadsheet.
3SKU.The code identifying the exact variant.
4Stock Type.Whether it's general pre-stock or reserved for you.
A product you create by hand, for orders that don't come from your webshop — a wholesale order, a replacement, a sample. Create the product here, then use Create DIY Order on the orders page to build the order around it.
Products → Products Template.
1Image.Upload a photo so we know what to source.
2Product name.Required.
3Product Link.A link to the product, ideally AliExpress.
The dashboard can be shown in several languages, and some accounts have a mixed English/Dutch interface. If your screen doesn't match the screenshots here, this table translates the labels you'll run into.
Stuck on something this documentation doesn't cover? Message your Shipgoods contact with the order number or a screenshot. Almost everything is faster to solve on our side than to hunt down on yours.
WhatsApp
Your account manager. The fastest route for anything about a live order.
Email
ship@shipgoods.eu — best for credentials, invoices and anything with an attachment.
Phone
+31 6 25689179
In the dashboard
Read feedback on an order line opens the message thread for that specific order.
We work with you in a shared channel. You add us to a channel in your own Slack, and because we join as an outside organisation through Slack Connect, our people stay on our Slack bill — never on yours.
€0
Slack bills each organisation for its own people. In a Slack Connect channel we are external members, so we sit on the Shipgoods plan.
Any number of us
One of us or ten of us. External members never count toward your Slack invoice, however many join the channel.
One rule
Use the address we give you. That is the only thing standing between free and billable.
1Open or create the channelPick the channel you want to work in, or make a new one — #shipgoods is a good name. It cannot be #general: Slack does not allow outside members in there.
2Click the member iconsTop right of the channel, next to the headphones and the search icon.
The top of your channel — the member icons sit on the right.
3Click Add people or agentsThe panel that opens shows who is in the channel. The button sits under the search box.
Clicking the icons opens this panel.
4Type our address and send itYour contact's address, ending in @shipgoods.eu. Slack offers Invite name@shipgoods.eu — press Enter, and Slack confirms it goes out as a Slack Connect invitation. We accept from our side, usually the same day.
Type the address; Slack offers Slack Connect.
4The address.It must end in @shipgoods.eu — that is what tells Slack we are an outside organisation.
Everything the dashboard shows you is also available as data, at an address your own tools can read. The usual reason to want that: letting Claude Code fetch your numbers so you can ask “what did my goods cost per day last week?” in plain language, or pulling them into the spreadsheet you already run your business from.
This chapter is optional and a little technical. Nothing in the dashboard needs it. The Claude Code route in 14.3 needs no technical knowledge — only copy and paste.
In the dashboard go to Store → API Keys, give the key a name you will recognise later, and press Create API Key. The walkthrough of that page is in 10.4.
The API wants your key sent along with every request, in a header. A normal chat — claude.ai, the Claude app’s chat, ChatGPT — cannot do that. You need Claude Code: the version of Claude that runs commands on your own computer, and so can send the key.
01Get Claude CodeIt needs a paid Claude plan — Pro or higher; the free plan does not include it. Easiest: install the Claude desktop app from claude.com/download and open the Code tab. In a terminal instead: curl -fsSL https://claude.ai/install.sh | bash. Official instructions: code.claude.com/docs/en/setup.
02Paste the promptStart a new session and paste the block below, with your own key where it says YOUR_KEY. The key stays in that conversation on your own computer — don’t paste it into a shared chat.
03Ask awayClaude Code fetches the numbers itself each time you ask, so the answers are current.
I have a read-only analytics API from my fulfilment partner Shipgoods.
Base URL: https://dashboard.shipgoods.eu/api/v1/shop/analytics/<endpoint>
Every request needs the header Authorization: Bearer YOUR_KEY
Follow these rules exactly:
- Use curl for the requests (a web fetch tool cannot send the key).
- Always also send the header Accept-Language: en (without it some tools get HTTP 500).
- Endpoints: summary, order-volume, order-status, order-trend, order-costs, payments, alerts.
- Costs per day: always per store. Use order-trend with &shop_admin_id=<id>, or add up order-costs. Get the store ids from order-volume. Never use account-wide spend or payments as costs: those include my top-ups.
- Amounts are whole currency units, not cents. Costs are negative, refunds positive.
- date_from and date_to: at most 90 days per request, both days counted.
- per_page: at most 100. Follow pagination.total_pages and stop at an empty page.
Start with summary and order-volume. Tell me my stores, and what my goods cost per day, per store, over the last 7 days.
Replace YOUR_KEY before sending. Leave the rest as it is — every rule prevents a mistake we have seen.
After that you ask for things the way you would ask a colleague:
“What did my goods cost per day last week, per store?”
“Which of my stores is running best right now?”
“How many address errors are still open?”
“What is my balance, and at this spend how many days does it last?”
Seven endpoints, all a plain GET with your key in an Authorization: Bearer header. A successful answer starts with "code":0,"msg":"ok".
summary
Balance, order counts per period and the alert numbers — everything at once. Start here.
order-volume
The same counts, broken out per store — including each store’s shop_admin_id, which you need for costs.
order-status
How many orders sit in which status.
order-trend
Per day: orders, fulfilled orders and spend. Add &shop_admin_id= for one store, and read 14.6 before treating spend as costs.
order-costs
Every charge on its own line: date, store, order number and amount. description 4 is an order cost, 9 a refund.
payments
Per day, what went off or onto your balance — costs, top-ups and refunds together. Only days on which something happened.
alerts
Address errors, unread feedback and open tickets.
Anything with a period takes date_from and date_to as YYYY-MM-DD, at most 90 days apart with both days counted. Lists take page and per_page, at most 100 — ask for more and you quietly get 20.
To check a key by hand in a terminal, before wiring anything up:
The question most people connect the API for, and the easiest one to get subtly wrong. The numbers are right; the trap is which number you read.
01Find your storesorder-volume lists them, each with its shop_admin_id.
02Ask per storeorder-trend?shop_admin_id=…&date_from=…&date_to=… — spend is then that store’s cost of goods minus refunds, per day. Negative means you were charged, so flip the sign to get the cost.
03Or per orderorder-costs lists every charge separately. Added up per day and store, it lands on exactly the same figure — to the cent.
04Add the stores upYour total cost of a day is all your stores together.
Today shows 0. Costs are booked when an order is fulfilled, usually the next day.
Amounts are in whole euros, not cents.-39.41 is €39.41.
Prefer a spreadsheet? Ask your Shipgoods contact for our Google Sheets script. It does all of the above and fills a tab with your costs per day, per store.
Nothing in the documentation matches that. Try a page name — “Trace”, “Topup”, “Address Error” — or ask us directly.