A diamond trading ERP with lot-wise inventory management and AI inventory insights for Arham Exports
The diamond trading ERP Yukti AI built for Arham Exports, a Mumbai trader of natural melee and calibrated polished diamonds. It tracks every purchase as a lot with its landed cost, keeps the cost of what is left correct through every partial sale, ages and classifies stock into fast, slow and dead, and tells management what to buy and what to stop buying, with the reason shown. Broker scorecards, a stock-matching CRM, receivables and MIS reports sit on the same records.
Arham Exports is a Mumbai-based B2B trader of natural loose diamonds, working from the Bharat Diamond Bourse and supplying manufacturers, wholesalers and retail chains with melee and calibrated polished stones. A diamond trader’s stock is not a list of items with a quantity: it is lots bought at a landed cost, sold in parts, held for months and judged by what sells. Yukti AI built one ERP around that flow — purchase, supplier and broker, diamond lot, inventory, partial sale, customer, profit, receivable, CRM and buying advice — with 18 working modules, weighted-average costing per lot, five ageing buckets, a rule-based purchase and stop-buying engine, broker scorecards, a five-stage CRM that matches buyers to stock, and an AI copilot that answers from the ERP’s own numbers. 51 automated tests check the business logic.
Contents
- Quick answer and quick facts
- The business and who this diamond ERP is for
- The challenge
- Screenshots
- Before vs after and task by task
- Diamond inventory management software: lots, parcels and sizes
- Lot-wise costing and partial sales
- Ageing, fast, slow and dead stock
- AI inventory management for diamonds: what is built
- What to buy and what to stop buying
- Broker and supplier scorecards
- Diamond CRM with stock matching
- Receivables, expenses and MIS reports
- Automation: alerts, reminders and messages
- ERP, inventory software or Tally? and moving the data
- Export and multi-currency
- Solution architecture, the modules and every feature and its purpose
- Workflows and the copilot’s eleven questions
- Roles and security
- How it was built, what was delivered and technology
- Feature checklist: what this build covers, benefits and what AI and automation can add
- What can be added next and cost and timeline
- Custom ERP vs a diamond software package and other diamond businesses
- FAQ
What is the best ERP for diamond inventory management and trading?
The best diamond inventory management ERP is one that treats a purchase as a lot, not an item: it records the landed cost of the lot, reduces carats and cost together on every partial sale, shows the profit of each lot, ages the stock, and separates fast, slow and dead stock using rules you can read. It then adds the things a trading desk lives on — broker and supplier performance, buyers matched to stock, receivables and MIS reports, and buying advice that shows its reasoning. Yukti AI, a software company in Surat, built exactly this for Arham Exports, a Mumbai trader of natural melee and calibrated diamonds. It is a custom ERP rather than a package, uses weighted-average costing per lot, and its “AI” is a transparent rule engine and a copilot that explains the ERP’s own figures instead of inventing numbers.
Quick facts

| Client | Arham Exports, Mumbai, India — works from the Bharat Diamond Bourse (company website: arhamexports.com) |
|---|---|
| Industry | B2B natural loose diamond trading and sourcing — natural melee and calibrated polished diamonds for manufacturers, wholesalers and retail chains |
| Business type | Trader and exporter: buys from suppliers, often through purchase brokers; sells in partial sales to customers, sometimes through sales brokers; customers in many countries according to the company website |
| Built by | Yukti AI, Surat, Gujarat — the builder is in Surat; the client is in Mumbai |
| Solution | Custom diamond trading ERP with MIS, CRM and an AI copilot — 18 module pages plus an alert centre, on one calculation engine |
| Core mechanics | Every purchase line becomes a lot; weighted-average cost per lot; carat-first inventory with optional stone count; partial sales that never distort the cost of what remains; every correction is a new linked record, never a deletion |
| Inventory intelligence | Carrying cost vs indicative selling value, five ageing buckets, fast, slow, dead, excess and shortage, configurable stock rules, rule-based purchase and stop-buying recommendations with reasons |
| People side | Purchase and sales broker scorecards, supplier analytics, top-20 customers, dormant-customer tiers, a five-stage prospect CRM, follow-ups and requirement-to-stock matching |
| Money side | Invoice-level receivables and payables with partial and oldest-first allocation, expenses, other income, a gross-profit vs net-operating-result split, CSV-exportable MIS reports |
| AI | Deterministic purchase engine and an AI business copilot with 11 question types; no machine-learning forecast; an optional language-model phrasing layer for the copilot is built and is switched on at go-live |
| Quality checks | 51 automated tests of the costing, stock, broker-scoring, customer and recommendation logic pass |
| Stack | Next.js 16, React 19, TypeScript, Tailwind CSS 4, Recharts, Zod; PostgreSQL (Supabase) schema with row-level security written for production |
| Status | Working version built by Yukti AI. The live database, user logins and connections to the client’s own systems are set up at go-live; none is claimed as connected on this page |
A diamond lot is carats, cost and time — and a partial sale changes all three
Arham Exports trades natural polished diamonds in the small and calibrated sizes that jewellery manufacturers, wholesalers and retail chains buy by the parcel. According to its public website the company is based at the Bharat Diamond Bourse in Mumbai, sells only natural stones, and supplies customers in many countries. Nothing on this page is taken from the company’s books; what follows describes the system Yukti AI built around how a diamond trading desk works.
A trader buys a parcel from a supplier, perhaps through a purchase broker who is paid a percentage. That parcel becomes a lot with a quality, a size range, a number of carats and a landed cost that includes brokerage, shipping and insurance. The lot is then sold in pieces to different buyers over weeks or months, sometimes through a sales broker. Every sale takes out some carats and some cost, and what is left keeps ageing. After a year the owner needs answers that a purchase register and a sales register cannot give together: how much money is locked in each lot, what did the part that sold actually earn, which sizes and qualities move, which broker brings stock that sells, and which buyers are drifting away.
A diamond inventory ERP has to follow the lot: where the money went in, how much of it has come back, what is still on the shelf, how long it has been there and who it can be offered to. The flow built for Arham Exports is Purchase → Supplier and broker → Diamond lot → Inventory → Partial sales → Customer → Profitability → Receivables → CRM → Recommendations.
Who is this diamond inventory management ERP for?
The system was designed for a trader and exporter of natural polished diamonds that holds stock in lots and sells it in parts: melee and calibrated sizes, parcels sold to manufacturers and wholesalers, purchases made through brokers, and buyers spread across cities and countries. If you run a diamond trading firm in Mumbai at the Bharat Diamond Bourse, a diamond dealer or exporter in Surat, or a diamond sourcing business anywhere in India, the questions on this page will sound familiar. It is also a working answer to the search for diamond software that goes beyond a stock list.
It is a good fit if most of these are true for you:
- You buy parcels and sell them in several partial sales, and your Excel sheet cannot tell you the cost of the carats that remain.
- You pay brokers on purchases or sales and want to know which ones bring stock that actually earns a profit, not just the lowest price.
- You hold stock for months and cannot say quickly which lots are tying up your money or which sizes you should stop buying.
- Your accountant works in Tally and your sales team works in WhatsApp and notebooks, and nobody can match a buyer’s requirement to what is in stock.
- You want an owner-level view, with drill-downs, where every number can be traced back to a transaction.
- You want AI that is honest about its numbers: advice with the reasoning visible, and an answer of “not enough data” when there is not enough data.
It is a different shape from a diamond manufacturing system. A factory tracks rough inward, assorting, planning and polishing loss; see our diamond assorting ERP with stock custody for that side. For a Surat export house selling through a private buyer portal, see the diamond trading platform case study. This page is the trading-desk system: lots, cost, ageing, brokers, buyers and cash. Yukti AI is in Surat and the client is in Mumbai; we build these systems for diamond firms across India.
What Excel and a purchase register cannot see in a diamond trading business
These points describe the gaps the system was built to close, drawn from the build brief and the way diamond trading works. They are not quotes from the client, and no figures about the client’s own business are shown here. The brief notes that the client had about five years of history in Excel and Tally, so the system also had to bring history in without double counting it.
- The cost of what is left goes wrong. When one lot is sold in several parts, using the full purchase cost against a part-sale overstates the cost and understates the profit. A diamond ERP has to take out only the cost of the carats sold.
- Landed cost is scattered. Brokerage, shipping, insurance and duty are paid separately from the stones. If they are not spread across the lots they belong to, every margin is wrong.
- Stock is judged by feeling. Without ageing buckets and rules, a lot that has not moved for a few weeks looks the same as one that has not moved for two years.
- Brokers are ranked by price or by sales value. The cheapest broker is not always the best, and the broker with the biggest sales may bring slow stock or slow-paying buyers. Small samples make rankings misleading.
- Buying is reactive. Demand, stock on hand, stock already promised to confirmed orders and dead stock are rarely put together before a purchase.
- Buyers and stock live apart. A customer’s requirement sits in a notebook while the matching lot sits in a spreadsheet.
- Profit and cash are two different stories. A lot can show a profit while its receivable is ninety days overdue. Gross profit, expenses and net operating result get mixed together, and costs that are already inside inventory get counted twice.
- History is hard to migrate. Years of Excel and Tally data carry inconsistent quality and size labels and duplicate parties, and the same voucher must not be imported twice.
What Arham Exports’ team works in
Screens from the diamond trading ERP built by Yukti AI. The figures visible in the screenshots are illustration figures, not Arham Exports’ business results, and party names are hidden.




How diamond stock and cost are tracked now
Before
- Purchase and sales registers in Excel and Tally, kept apart
- Cost of the remaining carats worked out by hand, or not at all
- Broker brokerage and shipping kept outside lot cost
- Stock judged by memory: what feels old or slow
- Brokers compared on price or on sales value
- Buyers’ requirements in notebooks and chats
After (in the ERP)
- One thread: purchase → lot → partial sale → profit → receivable
- Weighted-average cost per lot, so remaining cost stays right
- Brokerage, shipping and insurance spread across lots and capitalised once
- Five ageing buckets and fast, slow and dead rules you can read and change
- Scorecards on realised margin, price, consistency, delivery and sell-through, with a confidence level
- Requirements matched to lots in the same quality and size, oldest lots first
How does a trading day change, task by task?
The table walks through the real jobs on a diamond trading desk and what each looks like in the ERP. The “before” column is a general description of the manual way of working, not a measurement, and no time savings are claimed.
| Task | Before (manual) | After (in the system) |
|---|---|---|
| Buying a parcel | Purchase entered in a register; brokerage and shipping tracked separately | Multi-line purchase with live landed cost; additional costs allocated by value or by carats; each line creates its own lot |
| Selling part of a lot | Sale entered; remaining stock updated by hand | Lot picker shows available carats and cost basis; oversell is blocked; cost of goods sold, profit and margin are shown live |
| Checking stock | Scroll through a sheet of lots | Lot-wise inventory with remaining carats and cost, days held, status and stock class, plus a movement ledger for each lot |
| Finding slow stock | Judged by memory | Five ageing buckets; New, Fast, Normal, Slow and Dead classes from rules in Settings |
| Deciding what to buy | Gut feeling and recent enquiries | BUY NOW, BUY, MONITOR, HOLD or STOP BUYING per quality and size, with demand, usable stock, coverage and the reason |
| Choosing a broker | Cheapest price or biggest relationship | Scorecard on realised margin, price against comparables, consistency, delivery and sell-through, shrunk toward neutral for small samples |
| Following up a buyer | Remembered or noted in a chat | Follow-ups today, overdue and upcoming; dormant tiers at 30, 60, 90 and 180 days; open requirements matched to lots |
| Collecting payment | Outstanding checked invoice by invoice | Receivables ageing, partial receipts allocated manually or oldest first, overdue buyers flagged before new stock is offered |
| Month-end review | Reports assembled in Excel | MIS tabs for profit and loss, sales, purchases, margin and stock valuation with filters and CSV export |
Want a system like this for your diamond business?Tell us how you buy, hold and sell stock today and we’ll show you what one system would replace. Free workflow audit, reply the same day.
Chat on WhatsAppDiamond inventory management software: lots, parcels and sizes
The inventory module is built around one rule: every purchase line creates its own lot, and a lot is the unit that is costed, sold from, aged and judged. That is how traders actually think about stock, and it is why a generic stock-keeping system, which tracks items with a quantity, is a poor fit. A parcel of calibrated stones is not sixty identical items; it is a lot with a quality, a size range, carats, a landed cost, a supplier, perhaps a broker, and a history.
What each lot records
- Origin: lot ID, purchase number and date, supplier and purchase broker.
- Specification: a quality band and a size band. The working version ships with a starter grid of five quality bands (from top colour and clarity down to browns and fancy) and six size bands, the smallest being a melee band of 0.01–0.09 ct and the largest 1.50 ct and above. These are masters that can be set to a firm’s own assortments when the live database is configured.
- Quantities: opening and remaining carats, and optionally stones. Inventory is carat-first; a lot is tracked in stones only if the purchase line gives a stone count, and in that case a sale must state the stones sold so that carats and stones never drift apart.
- Money: original purchase value, allocated additional costs, landed cost, remaining cost and the average cost per carat of what remains.
- History: every sale from the lot, sales value, cost of goods sold, gross profit, margin, last movement date, days held, status (Open, Partially sold, Sold out or Cancelled) and stock class.
- A movement ledger: a purchase-in movement, then sale-out movements, and reversal or return movements if anything is corrected. Balances are derived from this ledger, not typed into a field.
Melee and calibrated diamonds
Melee and calibrated goods are sold by the carat in parcels, which suits carat-first inventory. The system does not force a stone count where the business does not track one, and it does not guess a conversion between carats and stones. Where stones are tracked, the rule that selling all remaining stones must also sell all remaining carats (and the reverse) keeps the two measures consistent. If your parcels are graded into sieve sizes or assortments finer than the starter grid, that grid is where the extra detail goes.
One source of truth
Every dashboard, report, drawer, alert and copilot answer calls the same calculation engine, so a lot’s remaining cost is the same number everywhere it appears. A ledger check confirms that a lot’s remaining carats equal its opening carats minus net sold carats, that remaining cost equals landed cost minus cost of goods sold, and that no cost goes negative. For the buying side of the same question, see our guide on what to look for in jewellery ERP software, and for a jewellery manufacturer’s version see the Lumera jewellery ERP and CRM.
Lot-wise costing: weighted-average cost per lot and partial sales
Costing is where trading software most often goes quietly wrong, so the method is fixed and written down: weighted-average cost, per lot. It is shown read-only in Settings and is never changed silently.
How landed cost is built
- Each purchase line is valued as carats × rate × exchange rate into rupees.
- Additional purchase costs — shipping, insurance, duty, other, and brokerage worked out as the broker’s rate on the gross value — are allocated to the lines. Every cost carries its own basis, by value (the default) or by carats, and is spread so that the allocated parts add up to the cost exactly, to the paisa.
- Landed cost is gross value plus allocated cost. That is the opening cost of the lot created for the line, and effective cost per carat is landed cost divided by carats.
Because these costs are inside inventory, they flow into the cost of goods sold only when the carats are sold, and they are not expensed a second time: an expense flagged as capitalised to a purchase is excluded from operating expenses.
How a partial sale takes cost out
The average cost per carat of a lot is its remaining cost divided by its remaining carats. A sale line’s cost of goods sold is the carats sold times that average at the moment of posting. When a sale takes all the remaining carats it takes all the remaining cost, so no rounding residue is ever left in a sold-out lot. Selling more than the remaining carats is blocked, including across several lines of one invoice. Because the average of a lot stays constant while it is only ever being sold from, a partial sale never distorts the cost of what remains.
A worked example
The numbers below are invented to show the mechanics, the same way the system’s own documentation and automated test do. They are not Arham Exports’ figures.
| Step | Carats | Rate per ct | Value | Cost taken out | Remaining ct | Remaining cost |
|---|---|---|---|---|---|---|
| Purchase, landed cost | 100 | — | — | — | 100 | ₹10,00,000 (₹10,000 per ct) |
| Sale 1 | 30 | ₹12,000 | ₹3,60,000 | ₹3,00,000 | 70 | ₹7,00,000 |
| Sale 2 | 20 | ₹12,500 | ₹2,50,000 | ₹2,00,000 | 50 | ₹5,00,000 |
| Total | 50 | — | ₹6,10,000 | ₹5,00,000 | 50 | ₹5,00,000 |
Gross profit on the part that sold is ₹1,10,000, a margin of about 18.03 percent, and the 50 carats still on the shelf carry ₹5,00,000 of cost at the unchanged ₹10,000 per carat. Every figure is computed from transactions; nothing is hard-coded.
Corrections never delete history
- Cancelling a sale restores the carats and the original cost through reversal movements. It is blocked while receipts are allocated or returns exist, and cancelling twice is rejected.
- A sales return comes back in at the original sale cost, not today’s average, and a credit note reduces the receivable and the revenue.
- Cancelling a purchase is allowed only while none of its stock has net sales and no payment is allocated.
- Receipts and payments are reversed, not deleted, which re-opens the invoice balance.
- Double submits are safe. Every posting carries a request ID created once per form, so a double click, a refresh or a retry returns the original document and creates nothing. Duplicate supplier invoices and duplicate external references are rejected.
Other costing methods, such as FIFO across lots or standard cost, are not part of this build. If a firm wants one, we would add it as an explicit setting, not a silent change.
Diamond inventory ageing report: fast, slow and dead stock by rule
Every open lot sits in one of five ageing buckets counted from its purchase date: 0–90 days, 91–180 days, 181–365 days, 1–2 years and 2+ years. Each bucket shows carats and carrying cost, and opens the lots inside it with quality, size, remaining carats, cost, days held and class. Click a chart segment or a KPI anywhere in the system and the underlying records open.
Age alone does not make stock dead, so the system also classifies every lot into one of six classes using rules held in Settings. These are the default thresholds in the working version, and all of them can be changed:
| Class | Default rule |
|---|---|
| New | Held for less than 30 days |
| Fast | Selling at 20% of the lot or more per month, and moved within the last 45 days |
| Normal | Everything that is not New, Fast, Slow or Dead |
| Slow | Held at least 120 days, and either selling under 8% of the lot per month or not moved for 90 days |
| Dead | Held at least 365 days and not moved for 180 days and no more than 25% of the lot sold |
| Sold out | No carats remaining |
The key design decision is that dead needs all three conditions together. A lot is never labelled dead simply because it has not moved for a short time. That matters because dead stock is excluded from usable stock in the buying engine and takes a larger haircut in valuation, so a loose label would distort both.
Carrying cost versus indicative selling value
The inventory screens show two different numbers and never mix them. Carrying cost is what the remaining stock cost you. Indicative selling value is remaining carats multiplied by a reference selling rate for that quality and size, taken from recent sales in the last 180 days, then from all-time sales, then, if there is no sales history at all, from cost plus an assumed markup of 12 percent. The basis used is always displayed. Slow stock takes a 7 percent haircut and dead stock 15 percent by default. Expected gross profit is indicative value minus carrying cost, labelled indicative everywhere, and it is never added to revenue or to realised profit. This is a deliberate line: an unsold diamond has a cost, an estimate and a hope, but not yet a profit.
Excess and shortage
For each quality and size the system compares usable stock with demand to flag excess (coverage above a limit, 180 days by default) and shortage risk (coverage shorter than lead time plus safety days, 28 days by default). Those flags feed the recommendations below and the alert centre.
AI inventory management for diamonds: what is built, and what is not
“AI inventory management for diamonds” is a phrase that can mean anything from a chatbot to a forecasting model, so this page is specific. The intelligence in this ERP is of two kinds, and both are built to be checked.
1. A deterministic decision engine
Stock classification, ageing, excess and shortage, purchase and stop-buying recommendations, broker and customer scoring, and alerts are plain formulas with settings you can read, change and test. Given the same records they give the same answer, and each answer carries the figures behind it. There is no machine-learning forecast and no hidden model deciding what to buy. Where there is too little history, the engine says “Insufficient history” instead of producing a confident number.
2. An AI business copilot that explains, but does not calculate
The copilot recognises eleven types of question (listed below), runs the matching engine and returns a summary, supporting figures, a table and clickable references to the lots, brokers or customers involved. It respects the user’s role, so restricted cost and margin figures are not disclosed to roles without that permission. An optional language-model layer is built for go-live: it receives only the already-computed facts of one answer and is instructed to explain them without adding or recalculating any number. That layer is switched off until a key is configured and has not been exercised against a live key in the working version.
Built, and buildable
| Capability | Status |
|---|---|
| Ageing, fast, slow and dead classification with configurable rules | Built |
| Buy, buy-now, monitor, hold and stop-buying advice with reasons | Built (rule-based) |
| Broker and customer scorecards with confidence levels | Built (rule-based) |
| Requirement-to-stock matching and cross-sell suggestions | Built (rule-based) |
| Copilot answers to eleven management questions | Built (answers from the ERP’s own engines) |
| Language-model wording of copilot answers | Built, switched on at go-live with a key |
| Seasonal demand forecasting | Not built; needs two or more years of clean history |
| Price forecasting, certificate or market-price lookup | Not built |
The same approach is explained on our AI ERP and AI CRM pages, and agents that act across ERP data are covered under ERP-connected AI agents. For the diamond and jewellery trade specifically, see AI automation for diamond and jewellery businesses.
What should a diamond trader buy, and what should they stop buying?
For every quality and size the purchase engine produces an action and an explanation. It is built to answer two questions the owner asks in different words every week: what should I purchase? and what should I stop purchasing?
The calculation
- Planning demand per day is half the average over the last 180 days plus half the last 60 days’ velocity, so recent movement counts without wiping out the longer picture.
- Usable stock is stock on hand, minus carats reserved for confirmed customer orders, minus dead stock. Stock that is already promised or cannot be sold is not counted as cover.
- Coverage in days is usable stock divided by planning demand.
- Reorder threshold is planning demand times lead time plus safety days (14 plus 14 by default), and target stock is demand times target cover days (45 by default).
- Suggested purchase is target stock minus usable stock when usable stock has fallen below the reorder threshold, rounded to half a carat.
- Trend compares the last 60 days with the previous 60 and labels demand Rising, Stable or Falling.
The six actions
| Action | When it appears |
|---|---|
| BUY NOW | Usable stock will run out before a replenishment can arrive (coverage shorter than lead time) |
| BUY | Usable stock is below the reorder threshold |
| MONITOR | Coverage is below the target but above the reorder point |
| HOLD | Stock covers the target; no purchase needed |
| STOP BUYING | Coverage is above the excess limit, there is no demand, history is thin while aged stock is already held, or the expected margin at recent prices is below the minimum (6 percent by default) |
| INSUFFICIENT HISTORY | Fewer than four sales in 180 days, or under 60 days of history: no forecast is made |
Each row carries a written explanation built from the same figures. For example, the engine writes that a particular quality and size has a suggested purchase of so many carats, that estimated demand is so many carats a month with a stable or falling trend, that usable inventory covers about so many days, and that open enquiries should be validated before purchasing. A warning is added when the recent margin is thin or the trend is falling. The row also names the supplier and broker with the best realised margin on that specification, using only those with at least 10 carats sold. The result is advice a purchase head can challenge, which is the point.
It never places an order. The most the system will do is record that a person accepted a suggestion. For the owner-level, plain-language way of asking the same thing, see the copilot.
Diamond broker management software: scorecards that do not reward luck
Brokers sit on both sides of a diamond trade, and the same person or firm may act as a purchase broker, a sales broker or both. The system models that as one broker record with a role, so a person is never duplicated, and it scores the two roles separately.
Principles the scoring follows
- Outcomes, not price. The lowest price is never automatically best; price is one of five weighted components.
- Comparable only. A broker’s price is compared with other purchases of the same quality and size in the same period.
- Realised versus expected. Realised margin counts only carats already sold. Profit still sitting in unsold stock is shown separately as indicative.
- No double attribution. A purchase has one purchase broker and a sale one sales broker, so within a role the profit attributed to brokers plus unbrokered profit equals total gross profit. Purchase-side and sales-side scores are never added together.
- Brokerage is a visible cost. Purchase brokerage is inside landed cost, and sales brokerage is shown separately with margin after brokerage scored.
- An evidence gate. Fewer than three transactions or 15 carats and the broker shows “Not enough data” with no rank.
The default weights
| Purchase broker component | Weight | Sales broker component | Weight |
|---|---|---|---|
| Realised margin of sourced lots | 35 | Realised margin after brokerage | 35 |
| Price against comparables | 20 | Lead conversion (a won lead needs a posted sale) | 15 |
| Quality and assortment consistency | 15 | Payment collection on invoices past due | 25 |
| Delivery reliability | 15 | Repeat business (customers with two or more invoices) | 25 |
| Sell-through speed of sourced lots | 15 |
The composite is then shrunk toward neutral for small samples: adjusted score equals 50 plus (score minus 50) times n divided by n plus 4, where n is the number of transactions. A lucky three-deal broker therefore cannot outrank a proven one, and rank uses the adjusted score. Each broker also gets a confidence level: Not enough data, Low (under six transactions), Medium (six to nine) or High (ten or more, with at least half the sourced carats sold). Weights and thresholds sit in Settings.
Quality and size matching
The same scorecards are re-run for each quality and size, so the screen can answer which purchase broker performs best for a given specification, which sales broker generates the best result for it, and which brokers lack the evidence to be ranked. A broker can be strong in one quality and weak in another, and the matrix shows it. This is the nearest thing to a diamond broker management report that does not simply sort by commission.
Suppliers are not brokers
Supplier management keeps supplier performance apart from broker performance: volume bought, landed cost against comparables, payables, consistency, slow stock held from the supplier and the profit realised from its lots. A cheap supplier that supplies slow stock looks different in this report than in a price list.
A diamond CRM with stock matching, not just a contact list
Most CRMs know a buyer’s name and last call. A diamond trader also needs to know what that buyer buys, what it earns, whether it pays, and which lot in stock suits its requirement. Because the CRM sits on the inventory and sales records, it can.
Customer analytics
- Top-20 lists by sales, by gross profit, by carats, by margin and by a composite score, plus low-margin, dormant, declining and overdue customers.
- The composite score is configurable and its weights are visible (25 percent sales, 15 carats, 30 profit, 20 margin, 10 frequency by default), so a buyer with big sales and thin margin can be told apart from a smaller buyer with better realised profit.
- Dormancy tiers at 30, 60, 90 and 180 days without a purchase, each with the last purchase, last interaction, responsible salesperson and a recommended next action. A customer with an overdue balance is told to collect before offering new stock.
- Cross-sell suggestions: stock that shares the quality or an adjacent size with what a buyer already buys, with slow stock surfaced first.
Requirement-to-stock matching
Customer requirements are recorded by quality, size and carats. The matching screen lists the open lots that can satisfy each requirement, oldest first, with the carats available and the shortfall if any. Confirmed orders also reserve stock in the buying engine, so what is promised is not counted twice.
Prospect pipeline
Prospects move through five stages — IDENTIFY, CALL, SHOW, NEGOTIATE and CLOSE — on a board with drag-and-drop or a stage menu. Each lead records the company, contact, source, required quality and size, estimated carats and value, salesperson, last contact and next follow-up. Pipeline value, stage-to-stage conversion (from stage history) and salesperson activity are shown. A lead counts as won only when a posted sale is linked to it, so the conversion figure cannot be flattered by a deal that was only marked closed.
Follow-ups
Today’s, overdue and upcoming follow-ups, leads with no next action and pending work per employee, each with complete, reschedule, reassign and note actions. Nothing is sent to anyone from this screen. If you want a CRM for a diamond business that also runs over WhatsApp, see our custom CRM software, the Yukti AI CRM and CRM automation pages, and the jewellery CRM we built for Surati.
Receivables, expenses and MIS reports for a diamond trader
Receivables and payables
Balances are held at invoice level. A customer receipt or supplier payment can be allocated invoice by invoice or automatically to the oldest invoices first, partial payments are supported, and any unallocated part stays visible. A receivable is the invoice value minus credit notes minus posted receipt allocations, and it is overdue when it has a balance and its due date has passed. Ageing uses five bands: not yet due, 1–30, 31–60, 61–90 and over 90 days. Supplier payables exclude additional costs such as shipping or insurance that are settled directly.
Expenses and other income
Brokerage, shipping, insurance, salaries, office, bank charges, travel and other heads, a monthly trend and expenses as a percentage of sales. Capitalised costs are kept out of the profit and loss so they are not counted twice. The system draws a hard line between gross profit (sales minus the cost of the carats sold) and the net operating result (gross profit plus other income minus operating expenses, which include payroll and sales brokerage).
MIS and reports
The reports area has tabs for profit and loss by month, sales detail, purchase detail, margin analysis and stock valuation. They can be filtered by date, month, customer, supplier, broker, quality, size, lot, salesperson, location and currency, sorted, paged and exported to CSV. They run on the same engine as the dashboards, which is why a number in a report and the same number on the CEO dashboard cannot disagree.
The owner’s dashboard
The CEO dashboard opens with a briefing that summarises sales against the previous period, margin movement, how many qualities will run out before replenishment can arrive, capital locked in dead stock and overdue follow-ups, with a health score and quick questions to the copilot. Below it are performance, inventory health, customers, procurement and brokers, cash and obligations, and CRM and team, with date-range filters and previous-period comparison. Every KPI and chart segment drills into its records.
If you are weighing what belongs in one system for a trading business, see our AI-powered business management system pillar, and for the wider pattern of replacing Excel and accounting-only software, Replace Excel & Tally.
Diamond business automation: alerts, reminders and messages, built versus buildable
Automation here means the system watching the records for you and telling the right person what needs attention. It does not mean software acting on its own authority.
Built: the alert centre
Twelve alert types run from the data, each with a severity (critical, warning or info), a reason, the supporting figures and a button to the relevant screen:
- Dead stock, ageing stock (held over a year), excess stock and low stock against demand.
- Margin decline against the previous period, and unusually high or low transaction prices (a 12 percent deviation by default).
- Overdue receivables, supplier payments falling due (7 days by default) and overdue follow-ups.
- Dormant high-value customers, purchase recommendations, and missing data that weakens a recommendation.
Built: scheduled work lists, not messages
Follow-up lists, dormancy tiers and the copilot’s “who should my team contact today?” answer produce drafts: the contact list and suggested wording are shown for a person to use. Nothing is sent from the system in the working version.
Buildable: WhatsApp and e-mail delivery
Alerts carry channel hooks for WhatsApp and e-mail, but delivery is disabled and stays disabled unless credentials, permissions and the recipient’s consent are configured; the setting is off by default. Connecting it means a WhatsApp Business API account and approved templates, which we cover in WhatsApp Business API pricing in India and WhatsApp automation. Typical diamond uses are a payment reminder to a buyer past due, a stock-arrival note to a buyer whose requirement matches a new lot, and a daily owner summary. Wider process automation, such as scheduled MIS delivery or approvals, is the work of workflow automation. None of these is claimed as connected for Arham Exports.
Diamond ERP vs inventory software vs Tally: which does a trader need?
Most diamond traders already have Tally or a similar accounting package, and many keep stock in Excel. The question is which problems each tool solves, because they are different problems.
| Need | Tally or accounting software | Stock list or inventory app | Diamond trading ERP (this build) |
|---|---|---|---|
| Ledgers, GST and statutory books | Strong: this is its job | No | Not replaced here; the books stay in Tally |
| Lot with landed cost and a movement ledger | Not natural; stock is by item | Usually stock by item or packet, with weak costing | Yes, weighted-average cost per lot |
| Profit of the part of a lot that sold | Hard; needs manual workings | Rarely | Yes, on every sale line |
| Ageing, fast, slow and dead rules | No | Sometimes a basic ageing | Yes, configurable |
| Broker and supplier scorecards | No | No | Yes, with confidence and an evidence gate |
| Buyers matched to stock, follow-ups, pipeline | No | No | Yes |
| Buy and stop-buying advice with reasons | No | No | Yes, rule-based |
| Owner dashboard with drill-downs and a copilot | Limited reports | No | Yes |
This is why the working version keeps a “systems of record” table in Settings: after migration the ERP is authoritative for the customer and supplier masters, for purchases and sales after go-live, for inventory lots and movements, and for CRM, follow-ups and broker data, while Tally stays the authority for ledgers, GST and statutory books and as a read-only archive of vouchers from before go-live. The ERP does not issue GST invoices or push vouchers into Tally in this build. Where a firm wants a two-way connection, that is the work described in our Tally integration with a custom ERP guide, and the case for moving off spreadsheets step by step is in moving from Excel and Tally to one system.
Importing Excel and Tally history without double counting
The brief for this build says the client had roughly five years of Excel and Tally data, so a migration centre was built to bring history in safely. It is a guided workflow, not a one-click import:
- Upload a CSV or Excel file (customers, suppliers, purchases or sales) and preview the rows.
- Map columns, with common aliases recognised (for example party, ledger or vendor for a name).
- Standardise labels for quality and size, so that several spellings of one quality become one.
- Detect duplicates in customer and supplier identities (near-matches are suggested for review) and in transactions, so the same voucher is not imported twice.
- Validate and show errors row by row, with an error report.
- Confirm explicitly. Nothing is imported or overwritten without a validated mapping, a preview and a confirmation.
- Reconcile sales, purchases, receivables, payables and inventory after the import. Re-importing the same file creates nothing.
Tally is handled as a source of exported files. No direct Tally connection is assumed or claimed. For more on the trade-offs, read Replace Excel & Tally.
Diamond export software: what the ERP covers for an exporter, and what it does not
Arham Exports sells to customers in other countries, so the system supports the parts of exporting that live in trading records. Purchases and sales can be raised in a document currency such as USD, AED or HKD with the exchange rate entered on the document, and every report runs in rupees. Customers and suppliers carry a country and a city, and customer types include dealer, wholesaler, manufacturer, retailer, online retailer and exporter. Receivables and ageing work for overseas buyers in the same way as for domestic ones, and the sales filters include currency and location.
What it does not do is also worth stating plainly. It does not generate export invoices, packing lists, shipping bills or bank realisation records, does not post foreign-exchange revaluation or gain and loss (documents are converted at the rate entered), and does not file anything. Those remain with the firm’s export documentation process and its accountant. If you need export documents generated from the same records, that is an addition to scope, discussed after a free workflow audit; see also our diamond software page, which covers memo, parcel inventory and export-house stock workflows for Surat traders.
One thread, purchase to profit to cash
The architecture has three layers that keep the numbers honest. A calculation engine of pure functions derives lot views, finance, brokers, customers, suppliers, recommendations, alerts and copilot answers from an immutable snapshot of the data. A service layer is the only way to write: every posting is validated, permission-checked, audited, atomic (all or nothing) and idempotent. The screens only display what the engine returns. Balances, costs, receivables and every report are derived from transactions, and no summary table is ever duplicated, so there is nothing to drift. For production, a PostgreSQL schema with row-level security and database functions for posting and cancelling was written to mirror the same rules; it has not been run against a live database yet, which is part of go-live.
The modules
All 18 modules are working pages on one shared dataset, plus a notification centre — the scope of a full AI-powered business management system shaped around a diamond trading desk. Global search (Ctrl+K) finds customers, suppliers, brokers, prospects, lots, invoices, qualities, sizes and requirements, and opens a detail drawer.
CEO dashboard
Business performance, inventory health, customers, procurement and brokers, cash and obligations, and CRM and team, with date range and previous-period comparison, a business-intelligence briefing and drill-down on every KPI and chart segment.
Purchase management
Multi-line purchases with live landed cost, additional-cost allocation by value or carats, brokerage, foreign-currency rates, payment terms and due dates, atomic posting that creates lots, opening movements and a payable, and cancel and reverse.
Sales management
A lot picker that shows available balance and cost basis, multi-lot invoices, oversell blocked, live cost of goods sold, profit and margin, sales brokers, returns and cancellations.
Lot-wise inventory
A filterable list of lots by class, quality and size, supplier and broker, with remaining carats and cost, sales value, cost of goods sold, gross profit, days held and a movement ledger for each lot, and CSV export.
Inventory intelligence
Overview, ageing and purchase recommendations: carrying cost and indicative value, quality, size, supplier and broker splits, five ageing buckets, fast, slow and dead stock, excess and shortage, and the buy and stop-buying reports.
Broker intelligence and supplier management
Purchase and sales brokers, quality and size matching, a broker directory with roles, terms and notes, and supplier analytics kept separate from brokers.
Customer management, prospect CRM and follow-ups
Rankings, dormant, declining and overdue buyers, cross-sell, requirement matching, a five-stage board, activities and a follow-up desk.
Receivables and payables, expenses and other income
Invoice-level balances, partial receipts and payments with allocation, ageing, upcoming payments, expense categories, monthly trend and expenses as a share of sales.
Employee and payroll
Employee master, salary structure, attendance, leave, incentives, deductions, net salary and paid or pending status, with salary figures visible only to roles that hold that permission. It is a simplified payroll with no statutory filings.
MIS and reports, AI copilot, import, audit log and settings
Five report tabs with filters and CSV export; the copilot; the import and migration centre; an audit log of every posting, cancellation, permission and settings change; and settings for stock rules, valuation, recommendation parameters, scoring weights, alert thresholds, roles and permissions, systems of record and the AI and messaging switches.
Every feature of the diamond ERP, and what it is for
Everything in this table is built into the system. The right-hand column is the purpose of the feature, not a measured result.
| Feature | What it does | Purpose for the business |
|---|---|---|
| Lot per purchase line | Creates a uniquely identified lot with landed cost and an opening movement | Judge stock and profit at the level traders actually think in |
| Cost allocation | Spreads brokerage, shipping, insurance and duty by value or carats, exactly to the paisa | Margins that include the real cost of getting the stone |
| Weighted-average cost per lot | Takes out cost in proportion to carats sold | Remaining cost stays correct after partial sales |
| Oversell block | Refuses sales beyond remaining carats, also across lines of one invoice | Stock records that cannot go negative |
| Reversal and return handling | Cancels and returns as linked records at the original cost | History is never deleted and nothing is double counted |
| Idempotent posting | A request ID makes double submits harmless | No duplicate stock from a refresh or double click |
| Ageing buckets | Five buckets from 0–90 days to 2+ years, each opening its lots | See where money has been sitting and for how long |
| Stock classes | New, Fast, Normal, Slow, Dead, with dead needing three conditions | Do not mislabel a short pause as dead stock |
| Indicative value | Carrying cost beside an estimated selling value with haircuts and a shown basis | See potential without confusing it with revenue |
| Purchase engine | Demand, usable stock, coverage, reorder point and suggested carats per quality and size | Buy what the data supports, with the reasoning visible |
| Stop-buying report | Flags excess, no demand, thin margin or thin history with aged stock | Stop adding to the wrong stock |
| Broker scorecards | Weighted components, sample adjustment, confidence, evidence gate | Rank brokers on outcomes, not price or luck |
| Quality and size matching | Best purchase and sales broker for each specification | Route each purchase to the source that suits it |
| Supplier analytics | Volume, landed cost, payables, consistency, slow stock, realised profit | Separate supplier quality from broker quality |
| Customer ranking | Top-20 lists and a configurable composite score | Know which buyers earn you money, not just revenue |
| Dormancy and declining tiers | 30, 60, 90 and 180 days, and falling purchases | Reach out before a buyer is lost |
| Requirement matching | Matches open requirements to lots of the same quality and size | Offer the right stone to the right buyer |
| Five-stage CRM | Board, activities, conversion, won only with a linked posted sale | An honest pipeline |
| Receivable allocation | Manual or oldest-first allocation of partial receipts | Exact outstanding per invoice |
| Gross vs net split | Gross profit separate from net operating result; capitalised costs excluded | Know what the stock earns versus what the business earns |
| MIS reports | Five report tabs with filters and CSV export | Month-end review without rebuilding spreadsheets |
| Alert centre | Twelve alert types with severity, reason, data and action | The system points at what needs attention |
| AI copilot | Eleven question types answered from the engines, drafts only | Ask the business a question in plain language |
| Import centre | Preview, mapping, label standardisation, duplicate checks, reconciliation | Bring years of history in safely |
| Roles, audit log | Six roles, a permission matrix, an audit trail of changes | Staff see what they need; changes can be traced |
Still tracking diamond lots in Excel?Show us your purchase and sales flow and we’ll map what lot-wise costing and ageing would change. Free workflow audit, reply the same day.
Chat on WhatsAppWorkflows the system was tested against, step by step
The build brief set twenty mandatory workflows, and the working version is checked against them with automated tests (51 in all) and by walking the screens. Seven of them show how the modules connect:
- Purchase to lot. A purchase with a broker and additional costs is posted; a lot appears with landed cost including brokerage, and an opening movement. Posting the same form twice creates nothing new.
- Two partial sales from one lot. The same lot is sold in two parts at different rates. The remaining carats and remaining cost, the revenue, the cost of goods sold, the profit and the margin all follow from the transactions, and match the worked example above.
- Ageing and classification. A lot held for a long time is placed in the right bucket; a lot with a short pause in movement is not called dead.
- Recommendations that change. A purchase suggestion appears when usable stock falls below the reorder point, changes when stock or sales change, counts stock reserved for confirmed orders, and turns into STOP BUYING when stock covers far beyond the excess limit.
- Brokers by specification. The cheapest broker is not ranked first; a broker with thin evidence shows “Not enough data”; one person can be a purchase and a sales broker without being duplicated; each transaction’s profit is attributed once.
- A lead through five stages. A prospect is moved from IDENTIFY to CLOSE and stays an open lead, not a sale, until a posted sale is linked.
- Cancel and reverse safely. Cancelling a sale restores the stock at its original cost, once; a second cancel is rejected; a receipt must be reversed before the sale it paid for; a return comes back at the original cost; a purchase cannot be cancelled after its stock has sold.
The same checks include role restrictions (a sales user sees restricted cost and margin figures as hidden, and the copilot declines restricted questions), partial receipts (a part-payment leaves the exact balance outstanding and over-allocation is rejected) and consistency across screens (lot, customer, supplier and period totals agree).
The AI copilot’s eleven questions for a diamond business
The copilot is designed around the questions an owner actually asks. It recognises these, answers each from the matching engine and links to the records behind the answer. Questions that mention a quality and size, such as a code for a specific specification, are filtered to it.
- What should I purchase this week?
- What stock should we avoid purchasing?
- Which quality is moving fastest?
- Which broker is best for a particular quality and size?
- Which suppliers have generated the highest realised profit?
- Which customers have become dormant?
- Which lots are tying up the most working capital?
- Why has gross margin declined this month?
- Which customers should my sales team contact today?
- Which inventory can satisfy open customer requirements?
- What needs management attention?
Four guardrails apply to every answer: figures come from the deterministic engine and never from a language model; answers respect the user’s role; no purchase, price change, accounting entry or message happens without explicit confirmation; and when history is insufficient the answer says so instead of guessing. The “contact today” answer can show draft WhatsApp messages, and the purchase answer can record that suggestions were accepted, but neither sends or places anything. If you are exploring agents that go further, see AI agent development in Surat.
What each person sees, and how changes are traced
Six roles are defined, each a set of permissions that can be edited in a live matrix: CEO or Admin (everything), Purchase Team (posts purchases and sees cost but not selling margins), Sales Team (posts sales and runs the CRM, with cost and margins hidden), Accounts (receipts, payments, expenses and financial reports), HR (employees, attendance and payroll only) and Management Viewer (read-only dashboards and reports, no salary data). Purchase cost, margins, financial reports and salaries are separate permissions, so a salesperson can quote a buyer without seeing what the stone cost.
Permissions are enforced inside every service, not just hidden in the screens, and every posting, cancellation, permission change and settings change goes into an audit log. For production the database policies are written to enforce the same rules at the data layer, with cost and margin hidden in the views that roles without that permission read. Those policies have been written but not yet run against a live database; that is a go-live step. A user switcher in the working version lets you see what each role sees. It is a way to review the permission design, not a login system.
See your own stock in a working system firstWe build on your real lots, brokers and buyers, so you judge something working, not a slide deck. Free workflow audit, reply the same day.
Chat on WhatsAppHow it was built
Start from the trading flow
The brief set out the real workflow, purchase to supplier and broker to lot to partial sale to receivable to CRM to recommendation, and the ten questions management should be able to answer.
Costing engine first
Lot costing, allocation, partial sales, returns and reversals were built and tested before any screen, because every other number depends on them.
Transactions, then intelligence
Purchases, sales, inventory, then brokers, suppliers, customers, CRM and the purchase engine, all reading the same engine.
The 18 modules on one dataset
Every navigation item is a working page, with a realistic dataset built to check each scenario in the brief, including a lowest-cost supplier that is not the most profitable and a broker who is strong in one quality and weak in another.
Redesign as an intelligence console
After the first review the interface was reworked: on-screen explanatory text was cut back, the company’s logo was added, more visuals were introduced and the CEO dashboard was rebuilt to feel like an analytics briefing rather than a template.
Verify
51 automated tests of the business logic pass, covering costing, ageing, recommendations, brokers, customers, receivables, reversals, permissions and migration. Setting up the live database, connections and logins is the go-live step.
What was delivered
What the system does. No business results or client quotes are published, because none were supplied.
No figures for time saved, revenue, stock reduction or number of users are published, there is no client quote, and Arham Exports’ own business numbers, customers, suppliers and brokers stay private. The figures and party names inside the working version are illustrations, not the company’s data. The live database, user logins, WhatsApp or e-mail delivery, Tally files and a language-model key are set up at go-live and are not claimed as connected here.
Technology
- Next.js 16, React 19, TypeScript, Tailwind CSS 4 — the application and its screens.
- Recharts and Lucide icons — charts and icons, with drill-downs from every segment.
- Zod validation — every posting is validated before it can change data.
- A pure calculation engine — costing, lot views, finance, brokers, customers, suppliers, recommendations, alerts, search and copilot as plain functions of one immutable snapshot, separate from the screens.
- A service layer — the only write path: validated, permission-checked, audited, atomic and idempotent reducers.
- An Excel and CSV reader — for the import and migration centre.
- PostgreSQL schema on Supabase — normalised tables, derived views, database functions for posting and cancelling, and row-level-security policies, written for the production database.
- Vitest — 51 tests of the business logic.
The working version keeps its data in the browser, so the user switcher and edits are for review. Moving to the live database is the production step. Costing is weighted-average per lot, base-currency reporting is in rupees, and payroll is simplified with no statutory filings.
Features of diamond inventory management software, and which ones this lot-wise trading build covers
When diamond traders compare software they usually look at the same five groups: inventory and stock control, trading and sales, finance and reporting, diamond operations and certification, and integrations, mobile and security. This checklist follows those groups. “Covered” means it exists in the Arham Exports ERP; “Can be added” means it is not built and would be scoped with the client. The detailed module-by-module list is further down in every feature of the diamond ERP, and what it is for.
Inventory and stock control
For a trader the question is how much stock, at what cost, and how old.
| Feature | What it does | In this build |
|---|---|---|
| Lot-wise inventory | Per-lot purchase information, landed cost, remaining carats and cost, days held, status and movement ledger | Covered |
| Weighted-average cost and partial sales | Cost per carat stays with the remaining stock after a partial sale; profit per lot is computed | Covered |
| Ageing and stock classes | Five ageing buckets and New, Fast, Normal, Slow and Dead classes with configurable rules | Covered |
| Excess and shortage by quality and size | Compares stock cover with demand across the quality and size grid | Covered |
| Multi-location stock and transfers | Location is a report filter today; an acknowledged transfer workflow between offices is not built | Can be added |
| Barcode or QR scanning | Scan a packet or lot label to find or update it | Can be added |
| Memo and consignment | Stock out on approval with return dates. Not part of this build; see memo and stock software in Surat | Can be added |
Trading, sales and pricing
Purchasing, selling and the people between you and the market.
| Feature | What it does | In this build |
|---|---|---|
| Purchase with landed cost | Multi-line entry, cost allocation by value or carats, brokerage as a percentage, FX rate, duplicate supplier-invoice rejection | Covered |
| Sales with live margin | Lot picker with available balance and cost basis, oversell blocked, live COGS and margin, returns at original cost | Covered |
| Purchase and sales broker scorecards | Sample-adjusted scores with a confidence level and a “not enough data” state | Covered |
| Supplier performance | Volume, landed cost versus comparables, payables, consistency, held and slow stock | Covered |
| Customer ranking, dormant customers, cross-sell | Top-20 rankings, dormant tiers and requirement-to-stock matching | Covered |
| Rapaport or price-list reference | A reference rate for stock pricing and comparison; not built, no live lookup is claimed | Can be added |
| Stock feed, website or marketplace upload | Publish stock to a website or marketplace. A private buyer portal is in the diamond trading platform case study | Can be added |
Finance, tax and reporting
Where money is tracked, and what stays in Tally by design.
| Feature | What it does | In this build |
|---|---|---|
| Receivables and payables | Invoice-level balances, partial receipts and payments, oldest-first allocation, five ageing buckets | Covered |
| Expenses and gross-versus-net view | Categories, capitalised costs kept out of profit and loss, monthly trend | Covered |
| MIS and reports | Profit and loss, sales and purchase detail, margin analysis, stock valuation, filters and CSV export | Covered |
| History import from Excel and Tally files | Preview, column mapping, duplicate detection and a reconciliation report | Covered |
| GST invoicing and statutory books | Stay in Tally by design (the settings record Tally as the system of record); a defined file or API exchange can be added. See Tally integration | Can be added |
Diamond operations and certification
Features that touch the stones and the sales team.
| Feature | What it does | In this build |
|---|---|---|
| Prospect CRM and follow-ups | Five stages, pipeline value, activities and a today/overdue/dormant follow-up list | Covered |
| Alerts | Twelve in-app alert types (dead stock, ageing, margin decline, overdue receivable and others) with a reason and an action | Covered |
| Employee and payroll | Attendance, leave, incentives, deductions and net salary, visible only to roles with the salary permission | Covered |
| Certificate fields and lab status (GIA, IGI) | Certificate number and lab on each stone or parcel; no lookup is built | Can be added |
| Export documents | Export invoice and packing list from the sale records | Can be added |
| WhatsApp or e-mail delivery of alerts | The channel hooks exist but delivery is switched off until a Business API number is connected | Can be added |
Integrations, mobile and security
Who can see what, and how the system connects.
| Feature | What it does | In this build |
|---|---|---|
| Roles and a permission matrix | Six roles; purchase cost, margins, financial reports and salaries are separate permissions | Covered |
| Audit log | Every posting, cancellation, permission and settings change is logged | Covered |
| CSV export from reports | Reports export to CSV | Covered |
| Mobile app | Search stock and see alerts on a phone | Can be added |
| API for websites and partners | A documented API for stock or orders | Can be added |
Compare with the custody and assorting approach in the P. Hitesh & Co. diamond ERP and the checklist in what to look for in jewellery and diamond ERP software.
Outside diamonds, the same costing discipline drives the corrugated box ERP with a box costing engine for Gujarat Print & Pack.
Benefits of diamond ERP and inventory software for a diamond trading business
Vendors of diamond software talk about efficiency, stock accuracy, cash flow and faster decisions. For a trader who buys lots and sells them in parts, the benefits are more specific. Each one below is tied to the part of the Arham Exports build meant to deliver it. No measured results are published, because none were supplied: these are design intentions, not outcomes.
Know the real profit of each lot
Cost per carat stays with the remaining stock after every partial sale, so profit per lot and per customer is calculated from the lot, not estimated from a total.
See how much money is tied up in slow stock
Ageing buckets and fast, slow and dead classes show the carrying cost of stock that is not moving, with the rule that flagged it.
Buy with evidence, and know what to stop buying
The recommendation engine compares stock cover with demand and gives BUY, HOLD or STOP BUYING with a reason. It says “insufficient history” rather than guess when there is too little data.
Judge brokers and suppliers fairly
Scorecards are adjusted for sample size, so one lucky deal does not rank a broker first, and thin data shows as “not enough data”.
Collect faster and call the right customers
Receivable ageing, overdue alerts and a daily follow-up list put the people to chase and the buyers to call in front of the team, with the lots that match their requirements.
Avoid overselling and double counting
The system blocks a sale larger than the available balance, also across lines of one invoice, and imports history without counting the same transaction twice.
Control who sees cost and margin
Purchase cost, margins, financial reports and salaries are separate permissions, so a sales user can sell without seeing what the stock cost.
For the same question from a house that sorts and moves parcels, read the P. Hitesh & Co. case study; for the Tally question, see ERP, inventory software or Tally.
What AI and automation can add to a diamond inventory system
The earlier AI section explains what is inside this build. This is the wider menu for a diamond trader, with an honest label on each idea: Built in our client systems (it exists in a Yukti AI build), Buildable by Yukti AI (we can build it on your own data once accounts and inputs exist) or Not realistic yet (we would not promise it).
| Idea | Status | Notes |
|---|---|---|
| Stock-ageing, slow-stock and dead-stock alerts | Built in our client systems (this one) | Rule-based with configurable thresholds; dead stock needs age, stagnation and low sell-through together |
| Buy and stop-buying recommendations | Built in our client systems (this one) | Deterministic, with reasons; it is not a machine-learning forecast |
| Broker and supplier scoring | Built in our client systems (this one) | Weighted, sample-adjusted scores with a confidence level |
| Customer-to-stock matching | Built in our client systems (this one) | Requirement matched to same quality and size, oldest lots first |
| Plain-language questions over live data | Built in our client systems (this one) | Eleven questions answered with supporting figures; a language model can only rephrase the computed facts |
| Draft replies and offers that cite only real stones | Built in our client systems (another one) | The diamond trading platform drafts enquiry replies from real stock; not part of this ERP |
| Stock and price-change alerts to buyers on WhatsApp | Buildable by Yukti AI | The alert hooks exist here but delivery is off; needs the WhatsApp Business API, templates and consent. See WhatsApp automation |
| Payment reminders by WhatsApp or voice call | Buildable by Yukti AI | Receivable ageing already exists; add a channel and scripts. See voice AI payment reminder calls |
| Owner morning digest by WhatsApp or e-mail | Buildable by Yukti AI | The figures are computed in the dashboard; delivery is a scheduled workflow. See workflow automation in Surat |
| Reading supplier invoices and packing lists into purchase entries | Buildable by Yukti AI | Extraction plus a review screen; never auto-posting |
| Certificate (GIA, IGI) data extraction | Buildable by Yukti AI | Extract the report number and grading fields, verify with the lab, and let a person confirm |
| Price-versus-market flags | Buildable by Yukti AI | Needs a price source; a flag against comparables, not a valuation |
| Seasonal demand forecasting | Buildable by Yukti AI after two or more years of clean history | Not credible before that |
| Price prediction or AI deciding what to trade | Not realistic yet | Out of scope; the copilot drafts and recommends, and a person decides |
| Image-based diamond grading | Not realistic yet | Specialist scanning vendors, not an ERP feature |
For the wider picture see AI automation for diamond and jewellery businesses in Surat, AI ERP, AI CRM and ERP-connected AI agents.
What can be added next
The keyword lists for diamond software are full of features that this build does not have. They are listed here as what can be added, not as what exists:
| Addition | What it would involve |
|---|---|
| Go-live set-up | Run the database schema and policies, set up user logins, load the client’s own quality and size grid, import history through the migration centre |
| WhatsApp and e-mail delivery | Connect a WhatsApp Business API number and approved templates, record consent, switch the channel hooks on for chosen alerts |
| Language-model wording for the copilot | Configure a server-side key; the model only rephrases the computed facts |
| Tally or GST connection | A defined file or API exchange for vouchers and GST, agreed with the accountant |
| Certificate details and price-list reference | Store certificate numbers per stone or parcel; add a price-list reference as a manual or imported rate. Not built; no live lookup is claimed |
| Stock feed or website export | Publish a stock list or feed for a website or marketplace. Not built; a private buyer portal is described in the diamond trading platform case study |
| Memo and consignment handling | Out-on-memo status and returns, as covered on diamond software in Surat. Not part of this build |
| Export documents | Generate export invoices and packing lists from the sale records |
| Seasonal forecasting | Possible once there are two or more years of clean history in the live system |
How much does diamond ERP software cost in India, and how long does it take?
Custom ERP from Yukti AI starts from ₹30,000. The final price depends on the modules, the number of units and users, and the integrations you need, and you get a custom quote after a free workflow audit. Focused builds typically take about 7–10 days to a first working version; a multi-module ERP like this one, with inventory intelligence, brokers, CRM and MIS, usually takes a few weeks depending on scope. Package diamond software is often priced per user or per year, and listings range widely; the useful comparison is what each option does with your lots, your brokers and your reporting. Our custom ERP cost guide explains what drives the price, and AI automation cost in India covers the AI side.
Custom diamond ERP vs a diamond software package: how to choose
People searching for the best software for the diamond industry find a mix of packaged products, free tools and custom builds. There is no single winner; there is a better fit for a given business.
- A package suits a firm whose workflow looks like the vendor’s: standard stock, memo, certificate and price-list features, quick to start, with the vendor deciding the roadmap. Check whether it costs lots, partial sales and brokers the way you think about them.
- Free tools and spreadsheets are fine for a small stock list. They stop working when you need cost of what remains, ageing rules, broker scoring and an audit trail, and nobody can tell which version of the sheet is right. Free is rarely free once the time of the people maintaining it is counted.
- A custom ERP suits a firm with its own way of costing, brokering and selling that a package cannot copy, or one that wants a system that keeps growing with it: lot-wise costing in the method you choose, scorecards with your weights, buyers matched to your stock, and reports in the shape the owner reads. It takes a short audit and a build rather than a licence, and you own the logic.
Our view for most small and mid-size diamond traders is to start with the part of the business where a package fits poorly, usually costing, ageing and brokers, and keep Tally for the books. If you are comparing, our checklist for choosing jewellery ERP software lists the red flags, and custom ERP software explains the approach.
If you hold diamond stock in lots and sell it in parts, this is buildable for you
The pattern — a lot per purchase, weighted-average cost, partial sales, ageing and stock classes, rule-based buying advice, broker scorecards, a stock-matching CRM and receivables on one set of records — fits:
- Natural and polished diamond traders and dealers in Mumbai, Surat and across India
- Diamond exporters and sourcing businesses that sell to manufacturers and wholesalers
- Melee and calibrated parcel dealers
- Jewellery manufacturers and wholesalers that hold loose stone stock
Two Yukti AI diamond builds side by side show the range. The P. Hitesh & Co. ERP is a Surat firm’s system for assorting, parent and child lot traceability, stock custody, payroll and accounting. This Arham Exports build is a trading-desk system for lots, cost, ageing, brokers, buyers and cash. Two different diamond businesses need two different systems, and both are custom. Start with a free workflow audit and see diamond software in Surat, jewellery software, custom ERP software in Surat or manufacturing ERP software. Related builds: the diamond trading platform and the Lumera jewellery system.
Diamond inventory management and diamond ERP: questions traders ask
Explore more
Diamond Software in Surat
Trading, stock, memo and holds for diamond firms.
AI Automation for Diamond & Jewellery
WhatsApp, sales automation and AI for the diamond trade.
Case study: diamond assorting ERP
P. Hitesh & Co., Surat: assorting, stock custody, payroll and accounting.
Case study: diamond trading platform
A Surat export house: holds, per-buyer pricing and AI stock search.
Case study: Lumera jewellery system
A jewellery manufacturer’s ERP and CRM with a metal ledger.
Jewellery ERP, CRM & Catalogue
Software for jewellery manufacturers, wholesalers and retailers.
AI ERP
ERP with an AI layer that reads the data and briefs the owner.
AI CRM
CRM that surfaces who to call and what to offer.
Custom ERP Software in Surat
ERP built around how your business actually runs.
All case studies
Every Yukti AI build — manufacturing, trading, jewellery and services.
Summary
Yukti AI, a software company in Surat, built a diamond trading ERP with lot-wise inventory management and AI inventory insights for Arham Exports, a Mumbai trader of natural melee and calibrated polished diamonds working from the Bharat Diamond Bourse. Every purchase line becomes a lot with a landed cost that includes brokerage, shipping and insurance, costed at weighted-average cost per lot, so a partial sale takes out only the cost of the carats sold and the cost of what remains stays correct; oversell is blocked and corrections are linked reversals, never deletions. Inventory intelligence shows carrying cost beside an indicative selling value, five ageing buckets, and fast, slow and dead classes where dead needs age, stagnation and low sell-through together. A deterministic purchase engine turns demand, usable stock (net of reserved and dead stock), lead time and safety days into BUY NOW, BUY, MONITOR, HOLD, STOP BUYING or INSUFFICIENT HISTORY with a written reason. Broker scorecards weigh realised margin, price against comparables, consistency, delivery and sell-through, shrink small samples toward neutral and say “Not enough data” below three transactions. A CRM ranks customers, tiers dormant ones, matches requirements to lots and counts a lead as won only when a posted sale is linked. Receivables, expenses, MIS reports with CSV export, an alert centre, an import centre, six roles with an audit log and an AI copilot with eleven question types complete the 18 modules; 51 automated tests pass. Tally remains the books; WhatsApp and e-mail delivery, the live database and logins are set up at go-live. Custom ERP from Yukti AI starts from ₹30,000. No results or client quote are claimed.