Skip to content
MintGuides

Go live

E-commerce: your store

A store project set up by a short wizard: products and variants, stock per outlet, orders, a POS, returns and refunds, your own couriers — and what you can change after.

Open Store settings
On this page

Setting up your store

New project → E-commerce. The project opens on a short wizard; answer it and the whole store is built for you.

Eight steps — your store, outlets, products, payments, returns, delivery, the POS, and a review. Each step is saved when you go on, so you can leave and come back where you were. Nothing is built until you press Set up my store on the review; then it takes about a minute, and you can leave the page while it runs.

A store is still a normal project: you can build your own models next to it, link them to products, orders or customers, and use automations, PDF templates and the public API as in any app.

Currency and order numbers

AnswerWhat it does
CurrencyThe money the store sells in — your organization’s country’s by default.
Order number prefixOrders are numbered with it: ORD00001, ORD00002… Changing it later numbers new orders only.
Sell items the outlet has none ofOff (the default): the POS refuses a sale bigger than the outlet’s stock. On: stock may go below zero, to be counted later.
Guest checkout on your websiteOn (the default): buyers can order on your website without an account. Off: they sign in or sign up first. Your website reads this setting from your project’s public API (GET /store).

Outlets

Every shop, stall or warehouse — each keeps its own stock.

  • A store sells: the POS opens at a store, and a register (till) is made at each one.
  • A warehouse keeps stock and sends it on to stores with a stock transfer.
  • Each needs a short code (MAIN, DHK-1) — it’s printed on receipts.

After setup, outlets are records of their own on the Outlets page: add, rename or close them there.

Products and variations

AnswerWhat it does
Products come in variationsSizes, colours, flavours. Each variation (a variant) has its own price, SKU, barcode and stock, and the POS asks which one. Off: each product is one item — MINT keeps one hidden variant for it.
What products vary byUp to three option names (Size, Colour). Each product picks its own values.
Scan barcodesThe POS adds an item when its barcode or SKU is scanned or typed.
Track stockThe default for new products; off for services or made-to-order items.
BrandsShows a Brands page and a brand on each product.

How customers pay

KindHow it works
In the storeCash, card on your own terminal, bank transfer, and — in Bangladesh — bKash, Nagad and Rocket by reference. The POS records the amount and the slip or transaction id; it doesn’t charge cards itself.
Your own waysA gift voucher, a cheque: named once, picked at the till like the others.
OnlineYour own Stripe, SSLCommerz or bKash merchant account (by your country), for payment links on orders and refunds back to the card or wallet. Add the keys on Payments after setup.

A sale can be paid several ways at once (part cash, part card); cash shows the change to give.

Returns and refunds

AnswerWhat it does
Take returnsOff: orders can’t be returned.
Returns accepted forDays after the sale; 0 for no limit.
Part of an orderSome lines, or some of a line’s quantity. The refund is worked out from what was paid for those items — their share of discounts and coupons included, tax as charged.
Back to stockThe default for each returned item; damaged ones can be kept out of stock.
Store creditA refund can go to the customer’s credit, spent later at the POS like money.
Refund byWhich ways money goes back: the way they paid (online payments through the gateway), cash, store credit, or another way noted by hand.

Delivery and couriers

Switch on Deliver orders for orders taken by phone or by hand that go to the customer: they get a delivery address and a shipping charge from the list you set. Pick the couriers you use (in Bangladesh: Steadfast, Pathao, RedX — or a courier without an API, typed by hand) — an order’s page then has Send to courier, which books the parcel with your own courier account and follows it. You connect each account after setup, on Delivery settings: see Your courier accounts.

The POS

AnswerWhat it does
Receipts80 mm receipt printer or A4, with your own lines at the top and bottom. Each receipt carries the order number, used to find the sale for a return.
Registers and shiftsA cashier opens a shift with the cash in the drawer, and closes it with a count; the POS shows what should be there and the difference.
Hold a salePark a basket and serve the next customer; pick it up later.
DiscountsMoney or a percentage off an item or the whole sale.
Coupon codesCodes from the Coupons page, checked at the till.
Every sale needs a customerOff: walk-in sales are fine.
TaxNo tax, tax in the price (receipts show how much was tax), or tax added at the till — with one or more rates; a product can carry its own, and one without is charged the default rate.

Review and set up

The review shows each step in one line; Needs a look marks a step with something missing. Press Set up my store. If the setup can’t finish, nothing of it is kept and the wizard says why — fix it and set up again.

What you get

A Store section (POS, Orders, Returns, Store settings) and an E-commerce section with the store’s pages.

PageHolds
Products, Variants, Categories, BrandsYour catalogue. Every sale is of a variant.
Outlets, Stock, Stock movementsStock per variant per outlet, and every change with its reason.
Stock adjustments, Stock transfersCounted, damaged or found stock; stock moved between outlets.
Customers, Store creditWho buys, their orders and spending, and their credit.
Orders, Payments, ReturnsSales, money in and out (payments and refunds in one list), and items brought back.
Coupons, Tax rates, Registers, ShiftsAs you switched them on.

Pages for things you switched off stay hidden until you switch them on in Store settings.

Categories

How products are grouped — each category shown on the POS and your website as you choose, in its own order on each.

FieldWhat it does
Web addressIts address on your website. Left empty, it’s made from the name: Local Chicken → local-chicken. One that’s taken gets -2, -3…, even when you type it.
Status on POSInactive: the category isn’t on the POS’s category bar. Its products still sell and can be searched.
Status on websiteInactive: your website’s category list leaves it out.
Order on POS · Order on websiteThe higher the number, the earlier it shows. Equal numbers go by name.
Image · More imagesIts main picture, and more if your website uses several — a banner, a gallery.
Tax / VATThe tax its products carry. Set or change it and every product in the category takes it, and their Price after tax follows (see Tax and prices).

The website rule lives on the Categories list endpoint (API → Endpoints): a filter that leaves out what’s inactive on the website, sorted by Order on website. Change either there if your site needs something else. Like the rest of the store’s fields, these can be relabelled or hidden but not removed; add your own beside them.

Collections

Groups of products for your website — Sale, Featured, New in. Unlike its one category, a product can be in as many collections as you like.

FieldWhat it does
Web addressIts address on your website, made from the name when left empty (Summer Sale → summer-sale); a taken one gets -2.
Status on websiteInactive: your website’s collection list leaves it out.
Order on websiteThe higher the number, the earlier it shows. Equal numbers go by name.
Description · Image · SEOWhat your website shows on the collection’s page, and how that page looks in search results and shared links.
  • Put a product in collections from its form: Collections, under Category and Brand.
  • Or from the collection’s page: its Products tab lists what’s in it. Add existing picks products already there (they keep their other collections); Remove on a row takes that product out — the product itself stays. Add product makes a new one already in it.
  • Collections are for your website only — the POS keeps to its categories.

On your website, the Collections list endpoint leaves out the inactive ones, sorted by Order on website, and a collection’s products are the Products list with ?collections=<its id> (API → Endpoints). See also tabs that add existing records.

Tax and prices

One tax rule, from the category to the till — the price on the page is the price charged.

  • Tax rates holds your taxes (VAT 15%…) with a Status and one Default. A product with no tax of its own is charged the default rate.
  • A category’s Tax / VAT goes to every product in it, and a product moved to a category with a tax takes it. A new product with no tax takes its category’s.
  • A variant always has its product’s tax — it can’t be set on its own.
  • Price after tax is worked out for you from the price and the tax the till would charge, by your store’s tax mode: tax added on top, tax already in the price (it equals the price), or no tax. Edit a rate, the default or the tax mode and every price follows.
  • Switch a tax to Inactive and it comes off every category, product and variant that had it (their price goes back to the bare price). Switch it back to Active and exactly those get it back.
  • A tax in use can’t be deleted: you’re told how many products, categories and variants have it, and Replace with… moves them all to another active tax first.

These rules run as System automations (Automations): you can switch each on or off and read what it did in Runs, but not edit or delete it.

Variants, SKUs and barcodes

Every sale is of a variant — one size and colour of a product, or the product itself.

  • Give a product its options (Size: S, M, L · Colour: White, Navy) and save: its variants are made from every combination. Add a value later and the new combinations appear; take one away and those variants stop selling — they’re never deleted, since orders and stock name them.
  • A product without options has one variant of its own, hidden, that follows the product’s SKU, barcode and status.
  • A variant can have its own SKU, barcode and price; an empty price is the product’s. Its tax is always the product’s.
  • SKUs and barcodes are one item’s each — saving one that another item has is refused, naming who has it.

Stock: counts, adjustments, transfers

Stock is kept per variant per outlet, and every change is a stock movement saying why.

To…Do this
Put in opening stock or a countOpen the product → In stock, click the figure for the outlet, and type what’s there (or how many to add or take away).
Write off damaged or lost items, or count many at onceStock adjustments → New: pick the outlet and reason, find the items, type what was counted (or the change, − to take away), then Apply. It applies once.
Move stock between outletsStock transfers → New: from, to, the items and quantities, then Send — it leaves the first outlet. Receive when it arrives and it’s added to the second. A sent transfer can be cancelled, which puts it back.
See what happenedStock movements: every change with the item, outlet, how much, the figure after it, why and its reference (the order, adjustment or transfer).
A transfer can’t send more than the outlet has — unless you allowed selling below zero in Store settings.

Selling at the POS

Store → POS: the till, full screen. Prices, discounts, tax and totals are worked out by the store; the POS shows them.

To…Do this
StartPick the register you’re at (it’s remembered on this device). With shifts on, open a shift with the cash in the drawer first.
Add itemsScan a barcode or type a SKU and press Enter, or tap a product. A product with variants asks which one — with how many the outlet has. Tap a category to narrow the grid.
Change a lineUse − and + or type the quantity; the % button gives that item a discount; the bin removes it.
Add the customerAdd a customer: find them by name, phone or email, or add them as new. Their store credit shows under their name.
Coupon or discountType the coupon code and Apply, or Discount for money or a percentage off the whole sale. A coupon that can’t be used says why.
Take the moneyPay: the first way to pay is filled with the total. Add another way (+ Card, + bKash…) to split it — it takes what’s left. Cash can be more than what’s due; the change is shown before you finish.
Print the receiptAfter the sale: Print (80 mm or A4, as Store settings say), then New sale.
Hold a saleHold parks the basket — nothing is taken from stock or paid. Held sales lists them at this register: Resume to carry on, Discard to drop it.
Cash in, cash out, closeShift since … in the top bar: what the shift has taken by way of paying and the cash that should be in the drawer. Cash in / out records money put in or taken out; Close shift asks for the count and shows if it’s over or short.
A sale that can’t go through — not enough stock, not fully paid, a coupon just used up — changes nothing: no stock moves and no payment is kept.

Orders

Store → Orders: every sale at the POS and every order taken by phone or by hand, newest first. Held sales stay in the POS.

To…Do this
See one kindThe tabs along the top: All, Today, Unpaid (nothing or only part paid), To fulfil (open orders not yet delivered), With returns and Cancelled. Each shows how many orders it has.
Find an orderType its number, the customer’s name, phone or email, or the delivery phone. The tabs’ counts follow what you typed.
Narrow it downAll channels → POS or Phone / by hand; All outlets → one outlet (when you have more than one).
Open itClick the row.

An order’s page

Everything about one order in one place, with what you can do next across the top.

PartWhat it shows
ItemsEach line with its SKU, price, quantity, discount and total — and how many came back. Under it: subtotal, discounts and coupon, tax, shipping, total, paid, refunded and the balance due.
Payments and refundsEvery payment and refund with how it was paid, its reference, when and by whom; cash shows the change given.
ReturnsReturns made from this order and where each is; click one to open it.
Stock movementsWhat the order took out of the outlet’s stock (and put back if it was cancelled).
TimelineTaken, paid, returned, completed or cancelled, in order.
Customer, Delivery, DetailsWho it’s for, where it goes and the shipping rate, the channel, outlet, who sold it and the note.
More detailsAny fields you added to Orders in Models, with this order’s values.
ActionWhat it does
Take paymentShown while something is owed: pay all or part of the balance, split over several ways to pay.
FulfilMark packed, shipped or delivered. Delivered completes the order.
CancelBefore it ships: the stock goes back to the outlet and what was paid is refunded the way it came (store credit back to the customer). Add why — it’s kept in the note.
Print receiptThe receipt in the size Store settings say (80 mm or A4).
Return itemsTaking items back and refunding them comes with the returns update; the button is there but not working yet.
An order that has gone out (shipped or delivered) or has items back can’t be cancelled — take it back as a return instead.

Returns

Store → Returns: items brought back, with the tabs All, Open (requested, approved or received), Refunded and Rejected. Search by return, order or customer.

  1. Requested — a return was asked for. Approve it, or Reject it.
  2. Approved — you agreed to take it back. Mark received when the items arrive (or Reject).
  3. Received — the items are back. The refund is paid from here, which marks it Refunded.
  4. Refunded or Rejected — Close it when it’s all done.
Each step can carry a note, kept on the return with who did it. A return’s page shows its items with why and in what condition, the refund due and paid, the refunds, and the stock it put back. Returns only show when they’re switched on in Store settings → Returns.

Your courier accounts

Store settings → Delivery settings, under Delivery: a card for each courier you turned on.

Each courier is your own merchant account with them: you open it, you paste its keys into Mint, the courier bills its delivery charges to you and pays the cash it collects straight to you. Mint never holds that money. Keys are kept locked away — Mint only shows whether each one is saved — and never go to your website or to an AI.

  1. Open a merchant account with the courier, if you haven’t one (each card links to its sign-up).
  2. Paste the keys from the courier’s own panel into the card, then Save & test. Mint asks the courier with them and says what came back — “Connected — balance ৳1,240”, or what’s wrong.
  3. Pick the courier’s settings: the pickup store (from your account), delivery type, the weight to use when an order doesn’t say.
  4. Copy the webhook address (and secret) from the card into the courier’s webhook page, so it tells Mint where each parcel is. Mint also asks about quiet parcels every 15 minutes, so nothing is missed if a call gets lost.
One courier account sends its updates to one address. If the same account is connected in two Mint stores, both cards say so — the second store gets its updates from the regular check instead. Disconnect forgets the keys; it’s refused while parcels are still on their way.

Connecting Steadfast

  1. In Steadfast’s dashboard, open API and add a key named “Mint”. Paste its API key and secret key into the Steadfast card and press Save & test.
  2. Open Steadfast’s Webhook page. Paste the Callback URL and Auth token from the card and press Save webhook. Steadfast keeps one address per account, so this replaces any address that’s there now. If you’d rather use Steadfast’s Generate button, paste the token it makes into the card’s “Or paste the token Steadfast generated” box.
Steadfast has no test mode — every parcel sent is real. If Steadfast refuses the keys, Mint stops using them until you test again: ten wrong tries lock a Steadfast key for an hour. Cancel on a Steadfast parcel asks Steadfast to bring it back (a return request).

Connecting Pathao

  1. In Pathao’s merchant panel, open Developer API → Merchant API Credentials (press Generate Credentials if it’s empty). Paste the client id and client secret, and the email and password you sign in to Pathao with — Mint uses them only to sign in to Pathao, and keeps them locked away.
  2. Pick the pickup store, delivery type (normal or on demand) and what you send (parcel or document).
  3. In Developer API → Webhook Integration, paste the Callback URL and secret from the card, choose All events, press Add Webhook and use Pathao’s test button.
Try Pathao’s sandbox fills in Pathao’s public test account, so you can try sending before connecting your own. Switch Mode to Live with your own keys when you’re ready. Pathao parcels can’t be cancelled from Mint — cancel in Pathao’s panel and press Refresh.

Connecting RedX

  1. In RedX’s merchant panel, open Developer APIs → Configuration and request a token (the sandbox token is on the same page — use it with Mode: Test). Paste it and press Save & test, then pick your pickup store.
  2. In Developer APIs → Webhook, paste the address from the card and press Enable. RedX signs nothing, so the secret is inside the address — keep it private; New secret makes another one.
RedX needs a delivery area for each parcel: pick it in Send to courier (search by district or post code). Mint remembers it for the next order from the same place.

Couriers without an API

For Sundarban, a local rider or your own van — any country.

Turn on Manual courier and list the couriers you use, one per line: a name, then | and its tracking link with {tracking} where the code goes, if it has one — Sundarban | https://…/track/{tracking}. When you send an order, pick the courier and type the tracking code from their slip. Move the parcel on with Update status on the order; marking it delivered records the cash collected, just as with the other couriers.

Sending an order to a courier

An order’s page → Send to courier. Or several at once: tick them on Orders or Website orders → Send to courier.

In the dialogWhat it does
CourierOnly couriers that are connected and tested.
Recipient, phone, addressFrom the order — change them for this parcel only. Bangladeshi couriers need a mobile number (01…).
AreasPathao: city, zone and area (optional — Pathao reads the address when they’re empty). RedX: a delivery area (needed). They’re matched from the address, or filled in as you picked them before for the same place.
Cash to collectWhat the order still owes, in whole taka — lower it, or 0 when it’s paid. Never more than it owes.
Weight, items, noteThe courier’s default weight when the order doesn’t say; the note goes to the rider.
One parcel per order at a time. If the courier doesn’t answer, Mint looks the parcel up before saying it failed, so it’s never booked twice; where a courier can’t be asked (Pathao, RedX) the order says “may have been booked” until the courier confirms or you check its panel. Sending several at once uses each address’s earlier area picks — orders from a new place for Pathao or RedX are sent from their own page once.

An order’s parcel

The Courier card on an order’s page.

Shows / buttonWhat it means
StatusBooked → Waiting for pickup → Picked up → On the way → Out for delivery → Delivered; or On hold, Delivery attempt failed, Coming back, Returned, Cancelled, Lost. The order follows: picked up marks it shipped, delivered completes it.
TrackingThe courier’s code (copy it) and its tracking page, when the courier has one. Your website’s order page shows the same.
CashWhat the courier collects. When it’s delivered, a “Cash on delivery” payment is added to the order for what the courier says it collected.
RefreshAsks the courier now. The page also asks when you open it, and Mint asks about quiet parcels every 15 minutes.
LabelA label for the parcel: courier, tracking barcode, recipient, cash to collect, order number.
CancelBefore it’s delivered. Steadfast and RedX are asked to stop it and the status changes when they confirm.
Receive returned parcelWhen it comes back: tick what arrived and whether it’s damaged. Sellable items go back into stock. A cash-on-delivery order is not refunded (it was never paid) — and if all of it came back, the order closes and owes nothing.
Mark paid outFor RedX and manual couriers, once they’ve paid you the cash. Pathao and Steadfast tell Mint themselves.

Deliveries

Store → Deliveries: every parcel, by where it is — Not sent, Waiting for pickup, On the way, Delivered, Coming back, Returned, Cancelled.

Cash with couriers is what couriers have collected for you and not paid out yet, in all and by courier. Search by delivery, invoice, tracking code or phone; tick delivered parcels to mark them paid out. Two emails come with the store, switched off — “Tell the customer it’s on the way” and “…it’s delivered” — turn them on in Automations.

Checking a buyer

With Steadfast connected, Check the buyer in Send to courier shows how parcels to that phone number have gone across Steadfast: usually takes them, takes some and refuses some, or often refuses — then consider asking for payment first. “Not known” means too few parcels to tell. The answer is kept for a day; Steadfast limits checks by how many parcels you book.

What the store keeps to itself

Money and stock only move through the store — the POS, order pages, returns, adjustments and transfers — so they always add up.

  • Orders, payments, returns, stock levels, stock movements, shifts and store credit are made by the store, not with an Add button. Their own fields you added can still be edited.
  • Fields the store works out — stock on hand, an order’s totals, paid and refunded amounts, a customer’s credit — show greyed out in forms and can’t be imported or changed in bulk.
  • In Models, the store’s own fields can’t be removed or turned into another kind, and its models can’t be deleted. Rename their labels, add your own fields and links, change the layout — that’s all fine.

Store settings

Store → Store settings: the wizard’s answers, a card each, saved on its own.

Switching something on shows its pages at once (coupons, brands, shifts…). Switching it off hides them — but not while it still holds what it made: variations stay on while a product has several variants, store credit while a customer has credit, shifts while one is open.

Troubleshooting

SymptomWhat to do
“The last setup didn’t finish”The reason is shown above the wizard; nothing from it was kept. Check the step it names and set up again.
“… is kept by the store and can’t be changed here”That field moves with sales, returns or counts. Use the POS, the order’s page or a stock adjustment instead.
“… is part of your store — some of its fields can’t change”The field is one the store relies on. Rename its label or hide it from the page instead.
“Open a shift on this register first”Shifts are on for your store: open one from the POS with the cash in the drawer, or switch shifts off in Store settings.
“Only 2 of … left here”The outlet hasn’t got enough. Sell fewer, move stock in with a transfer, or count it in if the figure is wrong.
“Only cash can be more than what’s due”A card, wallet or store credit can only cover what’s left to pay. Lower it, or take the extra in cash.
“Steadfast refused these keys”Copy both keys again from Steadfast’s API page and Save & test. Wait an hour if Steadfast says the key is blocked.
“Already with Steadfast — DLV-…”The order has a parcel on its way. Cancel that delivery first to send it again.
“… may have been booked”The courier didn’t answer in time. Look for the order number in the courier’s panel; if it isn’t there, tick “I checked” and send again.
A parcel’s status doesn’t movePress Refresh. If the courier card says it hasn’t sent an update for 2 days, check the webhook address in the courier’s panel.