The delivery arrives at 11, the bill runs to 60 lines, and someone has to type every one of them in before the stock can be sold: medicine, batch, expiry, quantity, free quantity, rate, MRP, GST. It takes half an hour, and the one batch number typed wrong doesn't show up until a customer brings a strip back or an expiry report doesn't match the shelf.
Reading the bill from a photo cuts that half hour to a couple of minutes of checking. But "AI reads your invoice" can mean something careful or something reckless, and the difference matters when the output is your stock. Here is how it should work, where it goes wrong, and what to check before you save.
Take a photo it can actually read
Most bad readings are bad photos. A few habits fix nearly all of them:
- Flat and square. Lay the bill on the counter and shoot from straight above. A curled page bends the columns.
- Fill the frame with the table. The line items matter more than the letterhead. Get close enough that the batch column is sharp.
- Light without glare. Daylight or a tube light from the side. A flash on glossy paper whites out a line.
- One page per photo. A two-page bill is two photos of the same invoice, not one photo of both pages side by side.
There's a reason to be strict about this. A photo too small to read doesn't get refused by the AI; it gets invented. When we tested a downscaled copy of a real distributor invoice, every one of the 21 models we tried returned a confident, fully made-up bill: supplier, GSTIN, ten plausible lines and totals that added up. So DravyaOS measures the photo before it sends it. A sharp photo goes straight through. A small one is still read, but you're told to check the batch numbers and expiries. A photo too small to read isn't sent at all, and the screen asks for a closer one.
What happens between the photo and the purchase screen
In DravyaOS you do this from the Import invoice button inside the New purchase screen, on the counter PC or on a phone. You don't leave the purchase you're entering. Behind that button:
- Pages stay together. Up to five photos go in as the pages of one invoice, so page 2, which usually has no letterhead, still gets the supplier and invoice number. If a second bill was caught in the same photo, it's left out, and the screen tells you how many rows that was.
- The bill checks itself. Every line is held against the bill's own arithmetic: quantity × rate against the amount, MRP against the rate, the expiry against the invoice date, GST against the rates that actually exist, free goods against the discount column. What the arithmetic can settle, the software settles. Only lines that still disagree are sent back for a second, closer reading.
- Strips become units. Distributors bill in strips, but your stock sells in tablets. "10 strips at ₹19.50, MRP ₹197.81" is converted the same way it would be if you'd typed it by hand, and the screen shows it back to you in strips. A syrup or a lotion stays one bottle.
- Dates are completed. "Exp 02/27" becomes the end of February 2027. That's arithmetic, and the software does it, not the model.
- Medicines and the supplier are matched to records you already have, so the stock lands on the right item instead of creating a near-duplicate.
If the distributor sends a CSV instead of paper, it's better still. The file is mapped, not retyped: the AI only works out which column is the batch and which is the rate, and the values are copied across exactly. Nothing can be reworded or rounded, whether the file has fifty rows or fifty thousand.
Or skip the photo: forward the email
Many distributors already email the bill as a PDF or CSV. Downloading it, finding it again and uploading it is a chore of its own, so DravyaOS gives your shop its own forwarding address. Set up one filter in your mailbox (your distributors' addresses as the senders, forward anything with an attachment), and each invoice is waiting on the Import screen, listed by sender, by the time the boxes arrive. It works the same from Gmail, Outlook or Zoho.
It's a forwarding rule you write yourself, not a connection to your inbox. The software never reads your mail; it only sees what your filter sends it. Nothing forwarded is saved as a purchase until you open it and accept it in the same review screen as a photo.
What you still check before saving
Nothing is saved until you say so. The reading fills in the ordinary purchase screen, the same one you'd have typed into, and you review it there. Five things deserve your eyes every time:
- Batch numbers. Compare against the strips in the box, not just the paper. This is the field photos get wrong most often.
- Expiry dates, especially on anything short-dated. That's where a misread costs real money.
- Free quantity. Schemes are printed a dozen different ways. A missed free unit makes your margin look worse than it is; an invented one makes stock you don't have.
- The bill total against the paper, to the rupee.
- New items. Anything the software couldn't match to an existing medicine: check it's genuinely new and not a spelling variant.
Two minutes of that is still far less than thirty of typing, and it's more careful. You're checking a finished purchase, not keying one in while a customer waits.
Keep the paper
Attach the photo to the purchase when you save it. The purchase bill is part of your record of where every batch came from. An inspector may ask for it, and so will your accountant at GST time. A photo filed against the purchase is one you can find again.
Photograph the bill on your phone, and the stock is on every counter before the boxes are unpacked.
Download DravyaOS for WindowsRelated reading: MRP, PTR, PTS and margins, and moving your stock into new software.