How to Choose Accounting Software for Gold Shops in Saudi Arabia
A practical guide to choosing accounting software for gold shops: selling by weight and karat, making charges, the changing gram price, scrap gold and trade-ins, and a checklist to run before you buy.
Author:سامي الحيدري
Choosing accounting software for gold shops comes down to one test. Can the system price an item at the moment of sale from its weight, its karat and today's gram price, then add the making charge? A generic system stores a fixed price per item. If it does, you will end up working it out on a calculator and typing in the result.
This guide compares types of systems and how they work, not product names. Every number in it is hypothetical and is there only to show how the calculation works.
Why does ordinary accounting software break in a gold shop?
Generic software is built on a simple assumption. Every item has a code (barcode), every code has a price, and every sale is one piece leaving stock. That assumption works for a grocery, a pharmacy or a clothing store.
In a gold shop the assumption collapses completely:
- The unit is the gram, not the piece. Two pieces that look identical have different prices because they weigh different amounts.
- The price isn't stored at all, because it moves with the metal price.
- The stock balance is weight per karat, not a count of pieces.
- Part of the invoice value isn't metal at all but a making charge (the fee for the craftsmanship), and its profit comes from a completely different source.
- The customer may pay part of the price with old gold, so a single invoice has weight coming in and weight going out.
- Some pieces in the display case aren't yours: customer consignments, pledged items and supplier display pieces.
A demo exposes all of this in two minutes. Hand the salesperson one of your own pieces and ask them to price it in front of you. If they open the 'Price' field and type a number by hand, the system isn't set up for gold, and you will pay for that every day.
How should a gold system price by weight and karat?
This is the backbone of any evaluation. The system must apply this formula automatically:
Item value = (weight in grams × gram price for the karat) + making charge
That formula leads to concrete requirements:
- A karat table: 24, 22, 21, 18 and whatever your shop actually uses, with the ability to add a new karat without custom development.
- A separate gram price for each karat, not one price divided up by hand.
- A weight field with at least three decimal places, because 100 milligrams on a heavy piece is real money.
- Flexible making charges: a fixed amount per piece, an amount per gram, or a percentage of the metal value. A single shop often uses all three on different items.
- Scale integration where possible, because typing weights by hand is where most errors happen.
The figures below are hypothetical, used only to illustrate the method. They are not current market prices:
| Item | Karat | Weight (g) | Gram price (SAR) | Metal value (SAR) | Making charge (SAR) | Total before VAT (SAR) |
|---|---|---|---|---|---|---|
| Chain | 21 | 12.400 | 262 | 3,248.80 | 310.00 (25/g) | 3,558.80 |
| Bangle | 22 | 18.750 | 275 | 5,156.25 | 337.50 (18/g) | 5,493.75 |
| Ring | 18 | 4.600 | 225 | 1,035.00 | 184.00 (40/g) | 1,219.00 |
| Worked piece | 24 | 8.000 | 300 | 2,400.00 | 40.00 (5/g) | 2,440.00 |
Look at what the table tells you. On the lighter ring, the making charge is a much higher share of the metal value. The 24-karat worked piece is almost pure metal. That difference never shows up in a system that stores a single 'item price', and you can't manage your margin without it.
How should the system handle a gram price that changes every day?
There are two opposite conditions here, and you need both.
Condition one: price at the moment of sale. Updating the gram price for each karat should be a single action at the start of the day, or whenever the price moves during the day. Every sales screen should pick it up immediately. It should also be controlled by permissions: who may change the price and who may not. If you have branches, is the price set centrally or per branch? Ask that question directly.
Condition two: freeze the price on the invoice. Yesterday's invoice must come back with exactly the same figures: the item's weight, its karat, the gram price applied and the making charge. If the system recalculates old invoices at today's price, all your historical reports are meaningless. You also can't handle a return or an exchange with confidence.
Ask for this exact test in the demo. Issue an invoice, change the gram price, then reopen the first invoice. If its total has changed, the evaluation is over.
Why must gold stock be tracked by weight, not by count?
In a gold shop, the answer to 'How much do I have?' is a weight per karat. The number of pieces is supporting information, not the main figure. The system should show balances on that basis, and the stocktake itself should be done by weight.
Hypothetical figures to illustrate the method. They are not current market prices:
| Karat | Pieces | Available weight (g) | Valuation gram price (SAR) | Estimated metal value (SAR) |
|---|---|---|---|---|
| 24 | 36 | 310.500 | 300 | 93,150.00 |
| 22 | 144 | 1,870.250 | 275 | 514,318.75 |
| 21 | 420 | 4,615.800 | 262 | 1,209,339.60 |
| 18 | 180 | 905.400 | 225 | 203,715.00 |
| Total | 780 | 7,701.950 | — | 2,020,523.35 |
Three practical lessons from this table:
- Your stock value moves while you sleep. Valuing stock at the metal price changes daily. So the system must separate the actual purchase cost recorded in the books from the indicative market valuation you use to watch your position. Mixing the two produces figures no accountant will accept.
- Variances are measured in grams. The stocktake report should give you the weight difference per karat, not a difference in piece count. A missing piece may be light. A 50-gram shortfall spread across a full count of pieces is the real loss.
- Movements between branches and the workshop are by weight. A piece that goes out for repair or reworking leaves with a weight and comes back with a weight. Any difference is someone's responsibility, and it must be recorded.
The general logic of inventory control (stocktakes, movements, transfers, safety levels) is covered in multi-branch inventory management with barcode tracking. What matters here is applying it to a unit of measure called the gram.
How should scrap gold and trade-ins be recorded on one invoice?
This is the transaction generic software most often gets wrong. The customer buys a new piece and pays part of the price with old gold (scrap). Two movements actually happen at once. A piece leaves your stock with its weight and karat. Old gold enters your stock with its own weight, karat and a purchase price that differs from the selling price.
The common mistake is recording the scrap as a 'discount' on the invoice. The result: gold came into your shop and wasn't recorded anywhere, your revenue looks lower than it really is, and your stock is short by exactly what you received.
The correct treatment is a received line with weight, karat and purchase price. Its net value is deducted from the amount due. The gold goes into a separate scrap location, because it is headed for reworking or sale to the supplier, not for the display case.
Hypothetical example to illustrate the method. It does not represent current market prices:
| Line | Karat | Weight (g) | Price applied (SAR) | Amount (SAR) |
|---|---|---|---|---|
| Bangle sold (metal) | 22 | 18.750 | 275 selling | 5,156.25 |
| Making charge | — | — | 18/g | 337.50 |
| Total sale | 5,493.75 | |||
| Scrap received from customer | 21 | 9.300 | 250 buying | (2,325.00) |
| Net amount due | 3,168.75 |
Ask any system you evaluate three questions:
- Does it allow a purchase price for scrap that differs from the selling price for the same karat?
- Does it add the incoming weight to stock automatically?
- Does the transaction appear in one report showing weight in and weight out for the period?
If the answer is 'we record it as a discount', the system is hiding half your business from you.
Why must the making charge be a separate revenue line?
This is the most important accounting distinction in the trade, and the one most often lost. Gold itself carries a thin margin set by the metal price. The making charge is the service your shop sells, and it is where a large part of your real profit is made.
If the system lumps both into one figure, you lose the ability to answer basic management questions:
- What share of your revenue comes from making charges?
- Which items carry a rewarding making charge, and which do you sell at almost metal value?
- Is the salesperson with the highest sales by weight also the one earning the highest making charges?
- When you give a customer a discount, does it come off the metal or off the making charge?
That last question sets your margin directly. You cannot answer it in a system that doesn't separate the two lines.
The requirement: two separate accounts in the chart of accounts (the structured list of accounts your books use). You also need a report splitting revenue into metal value and making charge, per item, per salesperson and per branch.
How do you handle consignments and display pieces you don't own?
Gold shops hold two kinds of pieces they don't own:
- Customer consignments: a piece left for repair, polishing or resizing, or a piece reserved with a deposit.
- Supplier display pieces: shown in the display case but not yet bought. They are settled when sold or returned.
These pieces must be in the system with their weight, karat, owner and date received. At the same time they must be outside the valuation of the stock you own and outside its financial report.
Separate locations in the system solve this. Set up a 'Consignments' location, a 'Display pieces' location and a 'Workshop' location. Their balances stay out of your ownership valuation but appear in a report of total weight held in the safe.
Without them, one of two mistakes happens. Customers' pieces get valued as yours and your stock is inflated, or they stay outside the system entirely and get lost.
Also ask about repair tracking: a receipt showing weight, the piece's status, the expected fee and an alert when it runs late.
Selection criteria table for gold shop accounting software
The right comparison isn't between brand names. It is between three types of system: generic accounting software, a generic retail POS system, and a system set up for gold and jewellery.
| Criterion | Generic accounting | Generic retail | Gold-ready system |
|---|---|---|---|
| Pricing by weight × gram price per karat | Not available | Usually not available | Core of the system |
| Karat table with a gram price per karat | Manual | Manual | Built in, updatable daily |
| Making charge as a separate revenue line | Possible with manual calculation | Rarely | Built in, three calculation methods |
| Stock by weight per karat | By count | By count | By weight and count together |
| Scrap and trade-in on one invoice | Treated as a discount | Treated as a discount | Separate incoming-weight line |
| Locations for consignments and display pieces | Not separated | Not separated | Separate locations outside valuation |
| Gram price saved on the invoice | Not guaranteed | Not guaranteed | Frozen on the document |
| Scale integration | No | Sometimes | Available |
| Phase 2 e-invoicing | Usually available | Usually available | Available and tested on weight-based invoices |
| Metal vs making-charge margin reports | No | No | Yes |
Use this table as a scoring template, not a verdict. Next to each criterion, write either 'I saw it work on my piece' or 'I was told it's possible'. The gap between those two phrases is the gap between a decision and a gamble.
What should POS and e-invoicing look like in a gold shop?
The sales screen in a gold shop should finish an item in a few steps: pick the item, read the weight, confirm the karat, calculate the making charge, add any scrap, then issue and print the invoice.
The general POS requirements apply here as in any retail business: speed, cashier permissions, returns, shift closing and till reconciliation. They are covered in detail in how to choose the right POS system in Saudi Arabia.
E-invoicing requirements are the same for every sector. In ZATCA's Phase 2 (the integration phase of Fatoora e-invoicing), the invoice is generated as XML to the UBL 2.1 standard. It carries a cryptographic stamp, a counter that is never reset, a hash chain linking each invoice to the one before it, and a QR code on simplified invoices. Simplified invoices are reported within 24 hours of being issued.
The point that affects your shop directly: an invoice cannot be edited once issued. If you priced with the wrong weight or the wrong gram price, the correction is a credit note linked to the original invoice, not an edit. Ask for exactly this scenario in the demo. Issue an invoice with the wrong weight, correct it, and watch the effect on stock in grams, on revenue and on VAT.
Note too that you will issue two types of invoice. Simplified invoices go to individual customers. Standard tax invoices go to businesses, suppliers and VAT-registered customers. The difference between the two and what each must contain is explained in our ZATCA e-invoicing guide.
Finally, the Zakat, Tax and Customs Authority (ZATCA) does not approve or certify software. It publishes an indicative list of qualified solution providers. Any marketing line about 'officially approved software' is not regulatory approval.
How is gold treated for VAT? Settle it with the authority, not the vendor
Trade in gold, precious metals and used pieces may be subject to special tax treatments in some cases. This is purely a regulatory matter. We don't decide it in an article, and a sales representative doesn't decide it either.
If your business includes investment metals or buying used pieces from individuals, settle the correct treatment with ZATCA or a qualified tax adviser. Then ask the software vendor to show you how the agreed treatment is applied, not to tell you what the ruling is.
What you need from the system here is a capability, not an opinion. You should be able to define different tax treatments per item, per item group or per transaction type. That treatment should appear on both the invoice and the VAT return without manual adjustment.
Demo checklist: test it on your pieces, not its data
Don't judge the system on ready-made demo data. Bring four pieces from your shop, in different karats and weights, and run these steps yourself:
- Enter the gram price for each karat you use, and check who has permission to change it.
- Enter the four pieces with their real weights to three decimal places, and their karats.
- Set up making charges three ways: an amount per piece, an amount per gram and a percentage of the metal.
- Issue a simplified invoice for one piece, and check that the weight, karat, gram price and making charge appear on the printed invoice.
- Change the gram price, then reopen the previous invoice. No figure on it should change.
- Run a full trade-in: sell a piece and receive scrap with a different weight, karat and purchase price, on one invoice.
- Ask for the stock report. It should show the weight sold going down and the scrap weight going up in a separate location.
- Book in a customer's piece for repair, then ask for the stock valuation. It must not appear among your own assets.
- Issue a credit note against an invoice, and watch its effect on weight, revenue and VAT.
- Ask for the revenue report split into metal value and making charge, per salesperson.
- Ask for a stocktake by weight for one karat, enter a deliberate variance, and see how the system handles it.
- Ask to export all your data. If you can't take your data with you, you are locked in, not subscribed.
If steps 5, 6 or 10 stumble, what you are looking at is generic accounting software with a 'weight' field added.
How much should you budget? Count the full cost, not the licence
Include in your calculation:
- The annual licence.
- Setting up the karat table and making charges, and loading your existing stock by weight.
- Training for salespeople, not just the accountant.
- POS hardware, the scale and printers.
- Any integration fees.
Weigh that against the cost of staying as you are: hours of manual calculation, stocktake variances nobody can explain, and a making-charge margin you don't actually know.
SmartPro's prices are published on its pricing page and include 15% VAT: the Mini package is SAR 1,500 a year, Pro is SAR 4,500 and Max is SAR 20,500. You can explore the accounting and sales system for gold and jewellery shops and try it on pieces from your own stock before committing to anything.
For a broader comparison of selection criteria for accounting software in any sector, see how to choose the best accounting software in Saudi Arabia.
Official reference
For e-invoicing requirements in both phases, the rules for standard and simplified tax invoices, special tax treatments for gold, precious metals and used pieces, and the indicative list of qualified solution providers, the only authoritative source is the Zakat, Tax and Customs Authority: zatca.gov.sa. Check any regulatory claim you hear in a sales demo there before you base a decision on it.
Read also
- Multi-branch inventory management with barcode tracking
- How to choose the right POS system in Saudi Arabia
- ZATCA e-invoicing guide
Key takeaway: The right gold shop system prices every piece from weight, karat and the day's gram price, freezes that price on the invoice, and separates metal from making charge. Prove all three on your own pieces before you sign.
To see it on your own stock, start a free trial or book a 30-minute demo with a product expert.
Article visuals
Frequently asked questions
What is the difference between accounting software for gold shops and generic accounting software?
Generic software stores a fixed price per item and counts stock in pieces, which doesn't work for gold. Gold shop software calculates each piece's value at the moment of sale from its weight, karat and gram price, then adds the making charge, and manages stock by weight per karat. In practice, a generic system forces you to calculate by hand and type in the result, so you lose both traceability and visibility of your margin.
How should the system handle the gram price changing every day?
Updating the gram price for each karat should be a single, permission-controlled action that every sales screen picks up immediately. More importantly, the price applied must be frozen on the invoice when it is issued, so yesterday's invoice comes back with exactly the same figures. Test it in the demo: issue an invoice, change the price, then reopen the first invoice. If its total has changed, the system isn't fit for purpose.
How should a scrap gold or trade-in transaction be recorded correctly?
It is not a discount on the invoice but two movements on one document: weight leaving your stock at the selling price, and weight entering it at a different purchase price for the same karat. The gold received goes into a separate scrap location, because it is headed for reworking or sale to the supplier. Treating it as a discount hides gold that entered your shop without being recorded and makes your revenue look lower than it really is.
How is the sale of gold and used pieces treated for tax?
This is a regulatory matter to settle with the Zakat, Tax and Customs Authority (ZATCA) or a qualified tax adviser, not with the software vendor. What matters when evaluating a system is capability, not opinion: you should be able to define different tax treatments per item or per transaction type, and that treatment should appear on both the invoice and the VAT return without manual adjustment. Check the official reference at zatca.gov.sa before building any internal procedure.


