β©οΈ Refunds β Credit Notes
Shopify ka refunds/create aur orders/cancelled webhook aane pe Zoho me credit note banta hai. Invoice pe balance bacha ho to credit note usi pe apply hota hai; invoice already paid ho to bank se refund entry banti hai (paisa asal me wapas gaya). Partial refunds bhi supported β har refund ki apni row.
β Ruki hui invoices β line item Zoho me nahi
Invoice tabhi banti hai jab order ke saare line items Zoho Books ke Items me hon. Jo product Zoho me nahi mila, us order ki invoice HOLD ho jaati hai. Yahan se: Line Items tab me dekho kaunsa product banana hai β Zoho Books me item banao (GST/tax bhi set karo) β Sync Items dabao β row β green hote hi Retry se invoice ban jaayegi.
Har row = ek product jo ruke hue orders me hai. β Zoho me nahi = pehle Zoho Books me item banao. β Ab available = item mil gaya, sirf Retry baaki. "Orders" me wo orders hain jo isi product pe atke hain.
Jin orders ki invoice ab tak nahi bani β wajah ke saath. Ready wali rows abhi Retry karne pe invoice bana dengi; baaki me pehle wajah theek karo (item banao / amount / customer detail).
Webhook Monitor
Har incoming webhook ka raw log β source, date/time aur poora payload SQLite me. Blank ya galat-format payload bhi save hota hai. Niche filter karo; row pe "Payload" dabao to raw body khulega. Failed ko retry kar sakte ho.
Settlement Auto-Poller
Razorpay settlement ~T+2 me aata hai. Poller fixed times pe chalta hai, Razorpay settlement recon report se settle hui payments ko pending invoices se match karke payment β journal β apply credit auto karta hai. COD orders is poller me nahi aate. Niche har run ka log + atki hui rows ka step-wise error.
Jis row ka settle adhura raha β kahan atka (step) aur kya error. Theek karke "Settle" se resume kar sakte ho (jo step ho chuka skip hoga).
Sheet upload
Review β
Process karne se pehle dekh lo: Matched = system me already hai (webhook se aaya). New = sirf sheet me hai, iska invoice+payment+journal naya banega.
Result
Failed / Attention transactions
ποΈ Shopify Connection
Store connection ka status. Shopify ka access token permanent hota hai β Zoho ki tarah har ghante refresh nahi karna padta.
Zoho Mapping
Bank = settled paisa yahan deposit (Record Payment + refund yahin se). Vendor = gateway (journal ke Accounts Payable line pe). AR (customer) / AP system accounts auto-detect β koi ledger mapping nahi.
ποΈ Shopify β Prepaid (Razorpay)
π¦ COD flow abhi OFF
COD orders ka alag bank/vendor. Mapping abhi se bhar sakte ho β COD flow chalu hone par yahi use hoga.
π¦ Zoho Items (Product gate)
Invoice tabhi banega jab uska product Zoho Books ke Items me ho. Ye store roz 24h me auto refresh hota hai; naye item add karne ke baad yahan se turant sync + held (product-missing) rows retry kar sakte ho. Product Zoho me na ho to invoice HOLD hota hai (Transactions me "Product missing").
Webhook URLs
Shopify admin β Settings β Notifications β Webhooks me ye URL add karo. Sabse aasan: ek hi URL (/webhooks/shopify) sab topics ke liye β topic header se app khud route kar leta hai. Format JSON rakho.
Ye topics subscribe karo: orders/paid, orders/cancelled, refunds/create. (Optional: orders/updated β address/amount edit reflect karne ke liye.)
Webhook signing secret .env me SHOPIFY_WEBHOOK_SECRET me daalo β har request ka HMAC verify hota hai. Khaali chhoda to check band rehta hai.
Flow
- Order paid β
orders/paidwebhook β Zoho me invoice β har Shopify line item ka apna Zoho line (qty + rate), shipping alag line, GST-inclusive. - Dedup key = Shopify order id; Zoho ka reference number = order number (
#1001). Same order dobara aaye to update, duplicate invoice nahi. - Razorpay
pay_xxxAdmin API se link hota hai β settlement poller usi se payment + fee journal + credit apply karta hai (T+2). - Refund / cancel β credit note. Invoice pe balance ho to apply, warna bank se refund.
- Webhook miss ho jaye to Backfill (Orders page) ya sheet upload se reconcile β dono idempotent.