LabelFlow Overview: Buying and Printing Labels
LabelFlow is the desk where you buy shipping labels for your merchants: carrier accounts and rates on one side, merchant wallets in the middle, and every label — its cost, what you charged, and your markup — on record.
LabelFlow is for the operator who sells shipping to merchants: a merchant needs a parcel shipped, a label has to be bought from a carrier at the best rate, printed, and billed to the merchant at your rate — without losing track of what the carrier charged you. LabelFlow keeps that whole chain in one app: carrier accounts, merchant wallets, shipments with rate options, the labels that come out of them, and the carrier invoices you reconcile against afterwards. This article is the map of the app; each function has its own detailed article.
The core objects: accounts, merchants, shipments, labels, rates#
- Carrier account — your account with a carrier (account number, alias, notes). Labels are bought through these accounts; an account can be enabled, disabled, edited, or deleted (LabelFlow → Accounts, /labelflow/accounts).
- Merchant — the customer who buys labels from you. Each merchant has a wallet with a balance and a wallet status; the Merchants page also counts their labels and violations (LabelFlow → Merchants, /labelflow/merchants).
- Shipment — one shipping job: ship-from, ship-to, and its packages (weight, dimensions, quantity, description). A shipment carries rate options and, once a label is bought, the label info (LabelFlow → Shipments, /labelflow/shipments).
- Label — the bought shipping label itself: tracking number, carrier, service, what the carrier cost you, what you charged the merchant, and the difference — your profit (LabelFlow → Labels, /labelflow/labels).
- Rates and markups — Master Data → Carriers defines which carrier services you offer, and Master Data → Carrier Accounts holds the account each service buys through; Markups & Rates sets a base markup per carrier (a percent or a fixed amount) with per-merchant overrides on top.
Step 1: Set up accounts and rates before the first label#
- Add each carrier account under LabelFlow → Accounts: carrier, account number, and an alias your team recognizes. Keep accounts you no longer use disabled instead of deleted, so old labels keep their history.
- Under Master Data → Carriers, create the carriers and services you sell, and under Master Data → Carrier Accounts keep the carrier account each service should buy through. Transit time and sort order on the service control how options are presented.
- Under LabelFlow → Markups & Rates, set the base markup per carrier — a percent or a fixed amount. Add a merchant rate override only when one merchant gets a different deal; deleting an override falls back to the carrier base markup.
These setup pages (LabelFlow → Accounts and → Markups & Rates, plus Master Data → Carriers and → Carrier Accounts) decide every price a merchant ever sees: the account buys the label, the service list picks the real carrier service, and the markup turns carrier cost into the merchant price. Set them once, carefully — a wrong service or markup shows up on every label until you fix it.
Step 2: Merchants and wallet balance#
Labels are paid from the merchant wallet, so balance comes before shipping. The Merchants page (LabelFlow → Merchants) lists every merchant with balance, wallet status, label count, and violation count — search by name to find one, open it for the detail, and unban a merchant from the same list when a ban is lifted. Top-ups land on the Deposits page (LabelFlow → Deposits): each deposit records the merchant, type, amount, and time, and a manual top-up can carry an evidence link (for example the transfer receipt), so a balance can always be traced back to real money. Merchant pages also surface violations; the full record lives under LabelFlow → Violations, filterable by merchant.
Step 3: The main flow — from a shipment to a label#
- Find the shipment under LabelFlow → Shipments — filter by merchant, source, or status, and open it.
- Check the basics on the detail page: status, source, merchant, ship-from and ship-to addresses, and the package list (weight, dimensions, quantity, description). A wrong address or weight here becomes a wrong label later.
- Compare the rate options: each row shows the service, carrier, mapped carrier service, transit time, carrier cost, and the amount charged — with the cheapest option tagged and where its markup came from. The selected option is highlighted.
- Once the label is bought, the Label info card on the same page shows the tracking number (with a copy button), the carrier cost, and the amount charged, plus the label order number. That tracking number is what the parcel travels with.
When a shipment fails#
If buying the label fails, the shipment shows a failed status and its detail page carries a "Failure reason" card that spells out what went wrong, in plain words. Read the reason first and fix the cause — a bad address, a package problem, a wallet or account problem — instead of guessing: the reason on the page is the same one the buying step produced. Labels that were bought successfully are never affected by a failed neighbour shipment; each shipment stands on its own.
Labels: look up what was bought#
Every bought label lands on the Labels page (LabelFlow → Labels) with its tracking number, merchant, carrier, service, carrier cost, charged amount, profit, and status. Filter by merchant or carrier, narrow by date range, or search a tracking number directly — the totals row above the table adds up label count, carrier cost, merchant revenue, and profit for exactly the rows you filtered, which makes it the quickest way to answer "what did we make on this merchant this week?"
Money check: carrier invoices and the dashboard#
What the carrier actually billed you arrives later, on their invoice — and it does not always match what the label cost at buying time. Under LabelFlow → Invoices you import a carrier invoice (paste the CSV text or upload the .csv file; the rows are tracking number and billed amount), then run reconciliation: rows where the billed amount does not line up are flagged as variance rows on the invoice. Work through those variances instead of re-checking every line by hand. The Dashboard (LabelFlow → Dashboard) rolls the current month up into six numbers — labels printed, carrier cost, merchant revenue, markup profit, pending invoices, and pending variances — so the two numbers to chase, pending invoices and pending variances, are visible the moment you open the app.
Docklify features used in this article#
- LabelFlow → Dashboard (/labelflow/dashboard) — this month in six numbers: labels, carrier cost, merchant revenue, markup profit, pending invoices, pending variances
- LabelFlow → Accounts (/labelflow/accounts) — carrier accounts: add, edit, enable, disable
- Master Data → Carriers (/master-data/carriers) — services you sell, with their carrier accounts in Master Data → Carrier Accounts
- LabelFlow → Markups & Rates (/labelflow/markups) — carrier base markup plus per-merchant overrides
- LabelFlow → Merchants and Deposits (/labelflow/merchants, /labelflow/deposits) — wallet balance, top-ups with evidence, violations at a glance
- LabelFlow → Shipments and Labels (/labelflow/shipments, /labelflow/labels) — rate options, label info with tracking number, and the full label record
- LabelFlow → Invoices and Violations (/labelflow/invoices, /labelflow/violations) — import carrier invoices, run reconciliation, track merchant violations