Pricing
Run it yourself, or have us run it
The product is the same either way. What changes is who operates the database at two in the morning.
Starter
Self-hostedyour infrastructure
Run it yourself. One Postgres, one web process, one worker — no Redis, no queue service, no object store.
- Every module: inventory, alerts, inward/outward, transfers, ledger
- Outlet portal and the REST API
- Docker Compose that migrates and seeds a demo in one command
- Community support
Unlimited outlets and users. You operate the database and backups.
Read the deployment guideManaged
Talk to usper outlet, per month
We run it on your cloud or ours, with the worker, backups and upgrades handled.
- Everything in Starter
- Managed Postgres, backups and restore drills
- Tally connector set up against your company file
- Onboarding: catalogue import, threshold modelling, alert routing
- Business-hours support with a named engineer
Priced per active outlet. Warehouses and head-office users are not counted.
Start a conversationEnterprise
Talk to usannual agreement
For networks where inventory is the business, and the integration surface is wide.
- Everything in Managed
- Custom integrations built by the BluMargins engineering team
- SSO, custom roles and bespoke approval flows
- Data residency and private networking
- Defined response times and a quarterly review
Scoped per engagement.
Talk to the teamCompare
What is in each plan
| Feature | Starter | Managed | Enterprise |
|---|---|---|---|
| Inventory matrix, alerts, escalation | Included | Included | Included |
| Inward / outward documents | Included | Included | Included |
| Direct and open transfers | Included | Included | Included |
| Ledger, statements and ageing | Included | Included | Included |
| Tally import (gateway and XML) | Included | Set up for you | Set up for you |
| Outlet portal and REST API | Included | Included | Included |
| Hosting, backups, upgrades | You run it | We run it | We run it |
| Onboarding and threshold modelling | Docs | Guided | Guided |
| Custom integrations | — | Scoped | Built for you |
| SSO and custom roles | — | — | Included |
| Support | Community | Business hours | Agreed response times |
Questions
The ones people actually ask
- Does this replace Tally?
- No, and it is not trying to. Tally stays where your statutory books are. BluYards keeps the operational ledger — the stock, the documents that move it, and the vouchers those documents produce — and imports from Tally so both sides agree. Vouchers imported from Tally keep their GUID, so a re-import of an overlapping date range changes nothing.
- What does it need to run?
- PostgreSQL and Node. Jobs run on pg-boss inside the same database, and realtime uses Postgres LISTEN/NOTIFY fanned out over Server-Sent Events. There is no Redis, no message broker and no object store to operate.
- How does it handle a POS that retries?
- Every movement batch requires an Idempotency-Key, and each line may carry an externalRef that is unique per outlet. A replayed request returns the original result; a line that arrives twice in different files is recorded once.
- Can outlets go negative?
- At outlets, yes, by default — a POS sale can arrive before the receipt that should have preceded it, and refusing a real sale is worse than a temporarily negative balance that shows as OUT. Warehouses never go negative, and neither does a dispatch or a transfer out.
- What happens to a mistake?
- It becomes a new movement. The stock ledger is append-only: adjustments, count corrections and document cancellations all post reversing entries with a reason and an audit record. Nothing is edited and nothing is deleted.
- Who can see what?
- Access is checked on the server in every page, route handler and server action. Scope is modelled as all / regions / locations / warehouses, applied in SQL, and the region switcher in the header can only narrow a user's scope, never widen it.
Get a number for your network
Tell us how many outlets are active and what you already run. BluMargins will come back with a scope and a price, not a quote form.