Sign in with your authorised Google account to continue.
This account is not authorised to access this dashboard.
| Txn Date | BD Order ID | Shopify Order | Customer | BD Amt (₹) | Paid excl. dep. (₹) | Deposit (₹) | Invoice # | Invoice Total (₹) | Settlement PV | Bank Ref / Add'l Payment | Status |
|---|
Decisions are saved permanently and survive re-uploads & page reloads.
| Date | Narration | Ref No | Source | Withdrawal (₹) | Net Deposit (₹) | Gross Collected (₹) | Gateway Fee (₹) | Taxable Value (₹) | GST Collected (₹) | Deposit Collected (₹) | Recon Status |
|---|
| Settlement Ref | Bank Ref No | Channel | Transaction ID | Order ID | Customer | Invoice # | Taxable Val (₹) | GST (₹) | Deposit (₹) | Gross (₹) | Fee (₹) | Net Settled (₹) | Add'l Pmnt (₹) | Add'l Channel | Add'l Ref | Refund (₹) | Refund Date | Refund Bank Ref | Status | Notes | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Load data and open Bank Statement tab to see transaction detail. | |||||||||||||||||||||
Shopify orders paid via manual methods — excluded from main Billdesk reconciliation.
| Order Name | Customer | Payment Method | Financial Status | Total (₹) | Rent (₹) | Deposit (₹) | Invoice # | Status |
|---|
UPI payments received via GPay Business → matched to Zoho invoices → verified in bank statement
| Payment Date | Transaction ID | Payer | Notes | Amount (₹) | Invoice # | Taxable Val (₹) | Sec Deposit (₹) | Settlement Date | Bank Ref | Status | Remarks |
|---|
Confirm the Zoho invoice for each transaction below.
| Paid On | Invoice / Order | Customer | Paid (₹) | Paid excl. dep. (₹) | Deposit (₹) | Invoice # | Invoice Total (₹) | Settlement UTR | Bank | Status | Notes | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Upload Razorpay settlements and payment links CSVs to see data here. | ||||||||||||
Consolidated view of all payments received across Billdesk, Razorpay and UPI.
Incoming bank credits not attributable to Billdesk, Razorpay, or UPI/GPay settlements. Tag and match these manually.
Consolidated view of all outgoing payments — refunds, expenses, salaries, rent and security deposits.
Auto-populated from Billdesk orders marked "Refunded via UPI". Matching bank withdrawals shown where confirmed.
Bank debits not yet assigned to a category — review and move each to the right bucket.
| Invoice | Customer | Date | Invoice Total | Received | Outstanding | Gateway(s) | Zoho Status | Dashboard | Action |
|---|
Last updated: June 2026 · Auto-kept in sync with the dashboard logic
| File | What it is | Key columns the dashboard reads |
|---|---|---|
| Billdesk transactions | Every payment Equipp collected via Billdesk | Order ID · Transaction ID (PGI Ref No) · Amount · Date · Status |
| Shopify orders | Every order placed on the website | Name · Payment Reference · Email · Billing Name · Total · Subtotal · Lineitem name · Lineitem price · Lineitem quantity |
| Zoho invoices | Invoices raised in Zoho Books (exported as CSV) | Invoice Number · Invoice Date · Primary Contact EmailID · Customer Name · Item Name · Item Total |
| Billdesk settlement files | Billdesk's batch payout reports (PV files) | PV Number · Settlement Date · Net Settlement · Order ID (Ref.1) · Transaction ID (PGI Ref No) · Gross Amount · Net Amount |
| Bank statement | Your actual bank account CSV | Date · Narration · Ref No · Deposit (credit column) |
Order ID → Shopify Payment ReferenceThe same merchant order ID flows from Shopify into Billdesk — the dashboard does a direct lookup. The dashboard does a direct dictionary lookup: shopifyOrders[bdOrderId]. If that misses (some PV files store a session token in Ref.1 instead), it falls back to matching on the Billdesk Transaction ID (= PGI Ref No) against Shopify's Payment Reference.
Lineitem name contains "Refundable Deposit" are summed as Deposit. Rent = Shopify Subtotal − Deposit. Subtotal is post-discount, pre-tax, pre-shipping — exactly matching the taxable device value Zoho invoices are based on. The deposit is excluded because it is never invoiced in Zoho.
Email → Zoho Primary Contact EmailIDThe email narrows the search to that customer's invoices only — no cross-customer guessing. If the email isn't in Zoho at all, the row goes straight to NO INVOICE.
EQ26–27/0394 and EQ26-27/0394 always match.Invoice Date is closest to the Billdesk transaction date wins. Only invoices within 60 days are considered first. Supports Zoho's default date format dd-Mon-yyyy (e.g. 18-May-2026).PV Number → Bank statement Narration (INDIAIDEAS) + Deposit amountBilldesk batches transactions into a PV (Payment Voucher). Each PV covers ~1–2 days of transactions, deducts MDR fee + GST on fee, and sends one net credit to your bank account.
Individual transaction → PV: the settlement file's Order ID (Ref.1) or Transaction ID (PGI Ref No) is matched to the Billdesk transaction row. This links each transaction to its PV.
PV → bank statement: the dashboard looks for a bank credit row where Narration contains "INDIAIDEAS" (Billdesk's bank name), Deposit ≈ PV's Net Settlement (±₹1), and date is within 3 days of the PV's Settlement Date.
| BD→Shopify | Shopify→Zoho | Settlement→Bank | Status |
|---|---|---|---|
| ✓ Amount matches | Invoice matched (±₹2) | Bank confirmed | FULLY MATCHED |
| ✓ Amount matches | Invoice found, amount differs | Bank confirmed | MOSTLY MATCHED |
| ✓ Amount matches | No Zoho invoice | Bank confirmed | NO INVOICE |
| ✓ Found | Any | No PV file uploaded | NO SETTLEMENT |
| ✓ Found | Any | PV exists, not in bank | NOT IN BANK |
| ✗ Not found | — | — | NO SHOPIFY |
Happens when the customer paid a different amount than what's on the Zoho invoice. Two common scenarios:
Customer upgraded from MacBook Air (₹4,000/mo) to MacBook Pro (₹6,000/mo). Shopify charged ₹6,000 but the invoice is for ₹4,000 — or we raised a supplementary invoice for ₹2,000 separately.
Customer was on 1-month (₹6,000/mo), switched to 12-month at ₹4,500/mo. Already paid ₹6,000 via Billdesk this month. Invoice now shows ₹4,500.
Device delivered, payment received, invoice hasn't been raised in Zoho yet.
Invoice exists but under a different email (e.g. personal vs corporate).
Payment received, then order cancelled and money sent back via UPI.
000012345678). Searches Ref No column.name@oksbi). Searches Narration column.customer_email + amount_paid → Zoho invoiceRazorpay links are sent to two kinds of customers. The dashboard handles them differently:
Customer placed a Shopify order but the Billdesk payment failed — a Razorpay link was sent separately. The dashboard finds their Shopify order first (priority order):
#3251)Once the Shopify order is found, matching works exactly like Billdesk — rent vs deposit split, email→Zoho invoice.
B2B or walk-in customers invoiced directly in Zoho. No Shopify order exists.
EQU26-27/0394) → direct lookupplink_XXXXX → Settlement Payments.Description column → settlement_utrRazorpay batches multiple payments into one settlement and sends one net credit to your bank. The settlements file links each payment back to its bank transfer via UTR.
plink_Sr6My5ym6e0WrT → Sr6My5ym6e0WrTPayments.Description = #Sr6My5ym6e0WrTsettlement_utr — this is the exact bank transfer referenceIf the settlements file has no Payments.Description column (older export format), the dashboard falls back to date proximity: finds the settlement created 0–4 days after the payment's paid_at date.
Payments.Description and settlement_utr columns, enabling exact matching. The older settlement-level export (rows starting with setl_) falls back to date matching.
settlement_utr → Bank statement Ref No or NarrationOnce the UTR is known, the bank statement is scanned for a credit row where the UTR appears in either the Ref No or Narration column. This confirms the money physically landed in your account.
| Link → Invoice | UTR Match | Settlement → Bank | Status |
|---|---|---|---|
| Invoice ±₹2 | ✓ by ID or date | Bank confirmed | FULLY MATCHED |
| Invoice, gap ≤ ₹100 | ✓ | Bank confirmed | MOSTLY MATCHED |
| No invoice | ✓ | Bank confirmed | NO INVOICE |
| Any | — | No settlements file | NO SETTLEMENT |
| Any | ✓ | UTR not yet in bank | NOT IN BANK |
Common reasons: corporate client invoiced separately, link sent before invoice was raised, email mismatch between Razorpay and Zoho.
Advance payment, deposit-only, or internal transfer. Click No Invoice Needed — the row is marked resolved without needing a Zoho invoice.
If the Razorpay amount includes a deposit component, enter the deposit value — the dashboard will split it out so only the rental portion is matched to the Zoho invoice.
Gross amount · Payer name · Notes · Transaction IDUPI payments have no email and no order ID — the dashboard infers the customer from name and amount. Three passes run in sequence, stopping as soon as a match is found:
If the customer typed anything in the UPI notes field (e.g. an invoice number or their name), the dashboard checks if it matches a Zoho invoice number exactly. This is the highest-confidence match.
Splits every word in the payer name and checks if any word appears in a Zoho customer's name (or vice versa). Only considers invoices where the total (post-GST) is within ±₹2 of the GPay net amount.
Invoice Total (incl. 18% GST) ±₹2Name matching failed (payer name too different from Zoho contact name). The dashboard finds all invoices matching the amount and presents them as candidates in the Manual Review card. You pick the right one and click Confirm.
Invoice Total (post-GST) is used for matching — not the pre-GST taxable value. So a ₹2,950 GPay payment matches a Zoho invoice totalling ₹2,950 (₹2,500 + 18% GST).
Narration contains "GOOGLE" or "GPAY" + Deposit = sum of GPay batchGPay settles in daily batches — all payments received on Day N land in your bank as one credit on Day N or N+1. The dashboard groups GPay transactions by settlement date and looks for a bank credit matching the batch total (±₹1).
The GPay batch total matches a bank credit row with "GOOGLE" or "GPAY" in the narration. All transactions in that batch get inBank = true.
The bank statement doesn't cover the settlement date yet (statement hasn't been updated). Status shows as PARTIAL — the money will arrive, the statement just doesn't reach that date.
| GPay → Invoice | Bank Batch | Status |
|---|---|---|
| Pass 1 or 2 — auto-matched | In bank | FULLY MATCHED |
| No invoice found | In bank ✓ | NO INVOICE → Manual Review |
| No invoice found | Not in bank statement yet | PARTIAL → Manual Review (Statement Gap) |
| Pass 3 — candidates only | Any | Manual Review (confirm candidate) |
The GPay batch landed in the bank but no Zoho invoice could be matched.
Type the Zoho invoice number → dashboard validates the amount → click Confirm → FULLY MATCHED
Advance / deposit / internal — no invoice will ever be raised. Marks the row resolved.
If Pass 3 found candidates, they appear above the lookup — click Confirm next to the right one instead of typing.
GPay has settled the payment to your bank but the bank statement you uploaded doesn't reach that date yet. Action is still needed for the invoice side.
Once you upload a bank statement that covers the settlement date, Statement Gap rows with a confirmed invoice automatically move to FULLY MATCHED — no further action needed.
The bank statement is the final confirmation layer for every payment channel. It proves money physically landed in your account. Each channel uses it differently:
Billdesk settles daily via a PV (Payment Voucher). Each PV is one bank credit covering multiple transactions.
INDIAIDEAS (Billdesk's bank)Razorpay settles T+2 via NEFT/IMPS. Each settlement has a unique UTR number.
Ref No or NarrationGPay settles in daily batches. One bank credit covers all payments from a single day.
GOOGLE or GPAYUpload your bank's CSV export. The dashboard auto-detects the relevant columns — no renaming needed as long as these columns exist:
| Column | What to look for | Used for |
|---|---|---|
| Date | Transaction date (dd-mm-yyyy or yyyy-mm-dd) | Settlement date comparison |
| Narration | Description / transaction details | Channel identification (INDIAIDEAS, GOOGLE, etc.) |
| Ref No | Reference number / transaction ID | UTR lookup for Razorpay |
| Deposit / Credit | Amount credited to account (inflows only) | Settlement amount matching |
| Withdrawal / Debit | Amount debited (outflows) | Refund matching (Billdesk NO INVOICE → Refunded via UPI) |
The Bank Statement tab shows every credit row that the dashboard couldn't link to any reconciled channel. These are transactions that landed in your account but have no corresponding Billdesk PV, Razorpay UTR, or GPay batch.
Each unmatched credit can be categorised:
Matched credits (Billdesk, Razorpay, GPay) are excluded — only true unknowns appear here.
AXISCN1350743309) — make sure your bank export includes the full narration columnUnmatched and no-invoice Razorpay payments that need a manual decision. Decisions are saved and survive page reloads.
Fill in invoice details for ITC (Input Tax Credit) tracking