LENSOWEB DESIGN Zoho automation
Zoho Creator · Google Vision OCR · Accounts payable

Zoho Creator + Google Vision OCR: verify every vendor payment and automate GRN entry

By Sushil Kumar · Published October 5, 2026 · 14 min read

Zoho OCR reads a payment slip, checks the vendor bank account and creates a GRN entry
Short answer: We build custom Zoho Creator apps that send each uploaded document to the Google Cloud Vision API for OCR, then check the result with Deluge. This gives you two controls most small businesses don't have. First, every payment slip is read and checked against the vendor's approved bank account and the bill amount, so a wrong-account payment is caught the same day. Second, a photo of the delivery note becomes the GRN (goods received note) in the Creator app, matched to the purchase order, so nobody types it in and you only pay for what arrived. Google gives the first 1,000 OCR units each month free.

A Friday afternoon that goes wrong

The story below is an illustrative example built from common situations. The business, people and figures are made up.

It's 4 pm on a Friday at a mid-sized distributor. The accounts executive is clearing vendor payments before the weekend. One supplier sent an email on Wednesday: "We've changed banks, please use our new account for this invoice." It looks like their usual email. The logo is right and the invoice number is right. She updates the account and sends the payment.

On Monday the real supplier calls. They never changed banks. The email came from a look-alike domain, and the money has gone.

The same week, the store team receives 480 cartons against a purchase order for 500. The delivery note is filed in a drawer, the GRN is typed in on Tuesday as "500" because that's what the PO says, and the full invoice is paid. Twenty cartons are paid for and never received. Nobody notices until stock-taking.

Neither mistake needed a fraud team or an expensive ERP to prevent it. Both started with a piece of paper or a screenshot that nobody checked against the system. That's exactly what OCR in Zoho can do automatically.

Why payments and receiving are where money leaks

These aren't rare problems:

The usual advice is "train your staff" and "double-check." That works until the busy day when it doesn't. A control that runs on every single payment and every single delivery is more reliable than one that depends on someone remembering.

Why Google Vision OCR with Zoho Creator

We build the whole system as custom Zoho Creator apps: vendor master, purchase orders, GRNs, bills and payments all live in Creator, shaped around how the business actually works. For the reading step, we call the Google Cloud Vision API from Deluge.

What we needHow Google Vision handles it
Dense text on slips and delivery notesDOCUMENT_TEXT_DETECTION is built for dense text and documents, and returns pages, blocks, paragraphs and words
Handwritten quantities on delivery notesDocument text detection supports handwriting
Bank PDFsPDF and TIFF files are supported; each page counts as one image
Low running costFirst 1,000 units a month free, then $1.50 per 1,000 units (up to 5 million a month)
Fits any Creator appA simple REST call from Deluge with invokeUrl; the text comes back as JSON

Zoho also has its own OCR (the Creator OCR field, custom OCR models and the Deluge zoho.ai.recognizeText task), and those are good options too. We chose Google Vision because it handles mixed printed and handwritten documents well, works the same way across every custom app we build, and costs little at small-business volumes. For most businesses, a few hundred slips and delivery notes a month fit inside the free tier.

The important part isn't the OCR engine. It's the rules that compare what the document says with what your system says. That's where the money is saved.

Part 1: payment slip verification

The goal is simple: no payment is marked "done" until the slip proves the money went to the approved account, for the right amount.

Step 1: keep one approved bank account per vendor

The check is only as strong as the reference data. Each vendor has an approved bank account record: account number, bank code (routing number, sort code, IBAN/SWIFT or IFSC, depending on the country), account name, the date it became active and who approved it. Changing it needs approval from a second person and a call-back to a phone number already on file, never one taken from the email asking for the change.

Step 2: upload the slip against the bill

After paying, accounts staff upload the bank's payment confirmation (a PDF, screenshot or photo) to the payment record in the Creator app. It takes seconds and replaces the "save it somewhere" habit.

Step 3: OCR reads the slip

The OCR model pulls out the fields that matter:

Step 4: Deluge runs the checks

CheckRuleIf it fails
Account numberMust exactly match the vendor's approved account (digits only, spaces removed)Mismatch: alert the owner at once
Bank codeMust match the approved routing number, sort code, IBAN or IFSCMismatch: alert
AmountMust equal the bill amount (or the agreed part-payment)Review: flag the difference
Reference numberMust not already exist on another paymentReview: possible duplicate upload or double payment
Beneficiary nameSimilar to the vendor name (names vary, so this is a soft check)Review
ReadabilityAll key fields found with confidenceNeeds manual entry: never guessed

Step 5: one clear status and an alert

Every payment ends up Verified, Needs review or Mismatch. Mismatches go straight to the owner by email, Zoho Cliq or a push notification on their phone. The owner gets a daily list instead of having to trust that everything was fine.

Why match on numbers, not names? Names are printed differently on every bank slip ("ABC Traders", "A.B.C. TRADERS PVT", "ABC TRADING"). Account numbers and bank codes don't change, so they're the reliable test. Names are a supporting signal only.

Want these checks in your Zoho?

We build payment slip verification and automated GRN entry as custom Zoho Creator apps with Google Vision OCR, and fit them around how your team already works.

Talk to us about Zoho OCR

Part 2: GRN entry straight from OCR

A GRN records what actually arrived from a supplier. In our custom Creator apps it's a GRN record linked to the purchase order, with support for partial deliveries, damaged items and stock updates. The weak point in most businesses is the person typing it in. OCR removes that step.

How the store team uses it

  1. Snap: when goods arrive, the storekeeper opens the GRN form on a phone and photographs the delivery note or supplier invoice.
  2. Read: OCR pulls out the supplier, the document number, the PO number, and each line's item code and quantity.
  3. Match: Deluge finds the open purchase order and lines up each item. Items not on the PO are flagged.
  4. Count: the form shows "PO quantity" next to "delivery note quantity". The storekeeper enters the physically counted quantity, plus any damaged or rejected units.
  5. Save: the app creates the GRN against the purchase order and updates stock. Short, extra and damaged items are recorded as exceptions.

The storekeeper still counts the goods. OCR removes the typing and the "just copy the PO" shortcut, because the delivery note and the physical count are both on record.

Handling real-world deliveries

Putting it together: the three-way match

Accountants call this the three-way match: compare the purchase order, the goods received note and the supplier invoice before you pay. When the GRN comes from the actual delivery note and physical count, and the payment slip is checked against the approved account, you get a fourth check on top:

DocumentQuestion it answersSource in the app
Purchase orderWhat did we agree to buy, at what price?Creator purchase order
GRNWhat actually arrived?OCR of the delivery note + physical count
Supplier invoice (bill)What are they charging?Creator bill record (OCR or entry)
Payment slipWhere did the money actually go?OCR of the bank confirmation

The bill is approved only when PO, GRN and invoice agree. The payment is closed only when the slip matches the approved account and amount. That's a full purchase-to-pay control loop inside one Zoho Creator system.

How the app is built in Zoho

The data model

Form / moduleKey fields
Vendor bank accountsVendor, account number, bank code, account name, status (approved / pending), approved by, effective date
PaymentsVendor, bill, amount, date, slip file, OCR fields, verification status, reviewer
GRN captureDelivery note image, PO, supplier, OCR lines, counted quantities, damaged quantities
Item mappingSupplier item code, your item code
ExceptionsType (account mismatch, amount difference, short receipt…), linked record, status, resolved by

The logic, in simplified form

Below is simplified code to show the flow. The production script also handles errors, PDFs, multiple slip formats and logging.

// On payment slip upload (simplified)
body = Map();
body.put("requests", [{
    "image": {"content": zoho.encryption.base64Encode(slipFile)},
    "features": [{"type": "DOCUMENT_TEXT_DETECTION"}]
}]);
resp = invokeUrl [
    url: "https://vision.googleapis.com/v1/images:annotate"
    type: POST
    parameters: body.toString()
    headers: {"Content-Type": "application/json"}
    connection: "google_vision"          // key or OAuth kept in a connection, never in the form
];
text     = resp.get("responses").get(0).get("fullTextAnnotation").get("text");
acct     = extractAccount(text);          // your own parsing helper
amount   = extractAmount(text);
approved = Vendor_Bank_Accounts[Vendor == input.Vendor && Status == "Approved"];

if (acct == "" || amount == null) {
    input.Verification = "Needs manual entry";
} else if (acct != approved.Account_Number) {
    input.Verification = "Mismatch";      // create Exception record + alert owner
} else if (amount != input.Bill_Amount) {
    input.Verification = "Needs review";
} else {
    input.Verification = "Verified";
}

For GRNs, the same OCR call reads the delivery note. The script maps each line to a purchase order line (using the supplier item mapping), shows it to the storekeeper to confirm the counted quantities, then creates the GRN and updates stock.

Getting OCR accuracy right

Security and audit trail

Rollout plan

  1. Clean the vendor master. Confirm every active vendor's bank details through a trusted channel and mark them approved.
  2. Start with payment slips. It's the highest-risk area and the quickest win.
  3. Collect samples. Gather five or more examples of each common slip and delivery note to build and test the parsing rules.
  4. Run in parallel for a few weeks: OCR checks alongside the current process, so you can tune the rules.
  5. Add GRN capture for your top suppliers first, then expand.
  6. Switch on alerts and the owner's daily summary.

Is it worth it for your business?

Work it out with your own numbers:

It suits businesses that pay many suppliers and receive goods regularly: distributors, wholesalers, manufacturers, retailers with a warehouse, construction and project companies.

Frequently asked questions

Which OCR do you use with Zoho Creator?

We use the Google Cloud Vision API, called from Deluge in custom Zoho Creator apps. Its document text detection reads dense printed text and handwriting, and the first 1,000 units each month are free. Zoho's own OCR field and the zoho.ai.recognizeText task are alternatives.

Can Zoho check if a payment went to the right vendor account?

Yes, with a custom Creator app. OCR reads the account number, bank code and amount from the payment slip, and Deluge compares them with the vendor's approved bank details and the bill. Mismatches are flagged and the owner is alerted.

Can GRN entries be automated in Zoho Creator?

Yes. The storekeeper photographs the delivery note, OCR reads the items and quantities, the app matches them to the purchase order, and the storekeeper confirms the counted quantities before the GRN is saved and stock updates.

Can OCR read handwritten delivery notes?

Google Vision's document text detection supports handwriting. Printed documents are more reliable, so handwritten notes should get a quick human check.

How much does Google Vision OCR cost?

Text detection and document text detection are free for the first 1,000 units a month, then $1.50 per 1,000 units up to 5 million. Each image, or each page of a PDF, is one unit.

What is a three-way match?

Comparing the purchase order, the goods received note and the supplier invoice before paying. Adding a payment slip check makes it a four-way control that also confirms where the money went.

Will this replace my accounts or store team?

No. It removes typing and routine checks, so your team handles the exceptions that need judgement.

Sushil Kumar is the founder of LENSO Web Design. He has built websites and business systems since 2016 and builds Zoho ERP apps for salary automation, HR, Desk and inventory. He has built OCR payment-slip verification and automated GRN entry in Zoho, along with free Firebase push notifications for ERP alerts. See our Zoho automation work

Related

Sources

Zoho and Google Cloud features, limits and prices change over time. Check the current documentation before you build. Fraud figures are from the cited reports and vary by country and industry.