Built for Indian D2C and marketplace sellers

One number for every store, ad account and courier.

Trackable connects Shopify, Amazon, Flipkart, Meta, Google and Shiprocket, then reconciles revenue, ad spend, returns and GST into a single ledger you can act on.

Live

Dashboard

My StoreLast 30 days
Total sales
₹14,82,490+18.4%vs prev period
Total orders
1,240+9.1%valid orders
AOV
₹1,196+8.6%sales ÷ orders
Blended ROAS
4.18x+0.21revenue ÷ spend
Ad spend
₹3,55,000Meta only
RTO rate
18.2%−7.8pt226 RTO

Net revenue

+18.4%

Revenue by channel

Shopify₹8,42,100
Amazon₹4,12,090
Flipkart₹2,28,300

The parts that decide whether a number can be acted on

What was sold, what it cost to acquire, what came back, and what the tax actually is. Every figure below comes out of the product, not a slide.

Every order lands in the ledger once

Each order is stored under a unique key of workspace, channel and external order id. A Shopify order and its marketplace twin never inflate your count.

ShopifyAmazonFlipkartone row#STORE-1016 · ₹2,499.00

Blended ROAS

Tracked revenue over total spend across every ad platform you connect.

Blended

4.18x

Meta alone reports 4.60x

RTO early warning

COD and prepaid returns are separated, so the risk sits with the payment method that carries it.

COD26.1%
Prepaid9.4%

GST, split correctly

Place of supply decides whether a line is CGST and SGST or IGST, derived fresh every time you read it.

CGST 9%SGST 9%IGST 18%GSTR-1 CSV

Confirmation calls

High-value COD orders go into a queue with a number to call, so risky orders are confirmed before dispatch.

  • #STORE-1016₹4,899 · high value
  • #OD-31920381₹3,299 · new pincode

Courier rates, serviceability and dispatch in one place

Compare live rates for a pincode, check serviceability before you promise a delivery date, then dispatch and track without leaving the order.

Delhivery Surface₹69

3 to 4 days

Blue Dart Air₹129

1 to 2 days

XpressBees₹79

2 to 3 days

Your ad platform is not wrong. It is optimistic.

A conversion that later fails is still a conversion to the platform. Trackable keeps platform reported numbers and blended numbers apart, so the gap is visible instead of averaged away.

0.42x gap, 9% overstated
4.18xreturn on ad spend, as your ledger proves it
Meta reported4.60x
Trackable blended4.18x

Cancelled and returned orders still count

Meta pins a 7-day click and 1-day view window at sync time, so an order that later fails COD still shows as a conversion.

Conversion value is gross

The platform credits what the customer was billed. Your ledger removes refunds, discounts and RTO before anything is divided.

One average cannot hide an outlier

Blended divides tracked revenue by Meta and Google spend together, so neither platform's optimism can hide inside the average.

Indian GST, without the guesswork

Place of supply decides the split. It is derived every time you read it, so correcting your state corrects historical invoices. A state we cannot recognise is reported as unclassified, never guessed.

Your registered state

MHMaharashtra

Where the order ships

Inter-state supply

Seller and buyer are in different states, so the whole line tax becomes IGST.

Invoice line

INV-2026-00418 · order #STORE-1016

Tax inclusive

Men's cotton tee

HSN 6109.10 · 1 × ₹1,180.00

₹1,180.00

Taxable value
₹1,000.00
Tax rate
18%
IGST18%
₹180.00
Total tax
₹180.00
Invoice value
₹1,180.00

The split is derived at read time, not frozen at write time, so correcting your state corrects historical invoices too. HSN stays blank in exports when a product has none, rather than being invented.

Security model

Tenant isolation in the database, not in application code

Store data and credentials are sensitive. A query that forgets its workspace cannot read another one, because Postgres refuses it before the row is reached.

Row level security

Every query carries the workspace boundary. Access rules run inside Postgres, not in application code.

Read only mandate

Sync reads orders and metrics. It never creates, edits or pauses a campaign.

Immutable payloads

Raw webhook bodies stay stored, so every dedupe decision can be audited later.

Dedupe invariantEnforced
unique (organization_id,
        channel,
        external_order_id)
select sum(net_amount), count(*) from orders where organization_id = $1 and created_at between $2 and $3

Applied to orders, products, campaigns, adsets and ads. The same rule holds across every connector, so a resync can never double your revenue.

Calculator

Model the return bleed before you connect anything

Three sliders and one recoverable number your team can act on this quarter.

Estimate your COD bleed

Move the sliders to model what failed cash-on-delivery deliveries cost you every month.

1,500
₹1,899.00
65%
Monthly GMV
₹28,48,500.00
COD orders
975
Expected RTO
234

Projected monthly loss

₹1,08,774.90

Reverse shipping and penalties₹42,120.00
Inventory blocked on returns₹66,654.90

Red is shipping, the rest is inventory tied up in failed deliveries.

Recoverable with Trackable

+₹38,071.00

Risk flags on high-value COD orders plus confirmation calls before dispatch, on the 975 COD orders you take every month.

One ledger for every channel you sell on

Connect a channel, run a sync, and watch your real numbers replace the guesswork.