Back to ER Diagram
Invoice & Payment Cycles

Invoice & Payment Exception Cycles

Comprehensive invoice and payment exception handling including dispute resolution, credit/debit notes, advance payments, retention management, payment recalls, and self-billing (ERS) processes.

PostgreSQL
6 Tables
Schema: finance
MSME Compliant

Invoice & Payment Flow

INVOICE RECEIVED
3-WAY MATCH
APPROVED
PAID
DISPUTED
RESOLUTION
CREDIT NOTE
6
Payment Processes
45
Day MSME SLA
ERS
Self-Billing
Multi
Currency Support

1. Invoice Dispute Resolution

1

Dispute Management

Track and resolve invoice discrepancies including quantity mismatches, pricing errors, quality issues, and missing documentation.

finance.invoice_disputes

  • dispute_type - QUANTITY, PRICE, QUALITY, MISSING_DOC, DUPLICATE
  • disputed_amount - Amount in contention
  • resolution_type - ACCEPT, REJECT, PARTIAL, CREDIT_NOTE
  • resolved_amount - Final settlement
  • credit_note_id - Linked credit note if issued

Resolution SLA

Disputes must be resolved within 7 business days for MSME vendors, 15 days for others. Unresolved disputes auto-escalate to finance manager.

2. Credit & Debit Note Management

1

Credit/Debit Notes

Issue and track credit notes (vendor to buyer) and debit notes (buyer to vendor) for adjustments.

finance.credit_debit_notes

  • note_type - CREDIT, DEBIT
  • reason_code - RETURN, PRICE_ADJ, SHORTAGE, DAMAGE, SERVICE
  • gross_amount / tax_amount / net_amount - Breakdown
  • utilized_amount - Amount applied to invoices

Credit Notes

Issued by vendor for: returns, price reductions, short shipments, damaged goods. Applied against future invoices or refunded.

Debit Notes

Issued by buyer for: quality issues, penalties, chargebacks. Deducted from pending payments or future invoices.

3. Advance Payment Management

1

Advance Payments

Manage upfront payments with bank guarantee tracking and automatic recovery from future invoices.

finance.advance_payments

  • advance_type - MOBILIZATION, MATERIAL, MILESTONE
  • advance_percentage - Percentage of PO/Contract
  • bank_guarantee_required - BG needed flag
  • bg_number / bg_amount / bg_expiry_date - BG details
  • recovered_amount / balance_amount - Recovery tracking

Advance Recovery

Advances are automatically recovered pro-rata from each invoice. System prevents payment if advance balance exceeds invoice amount. BG validity monitored with 30-day expiry alerts.

4. Payment Retention/Holdback

1

Retention Management

Track retention amounts held against contracts/POs with configurable release conditions.

finance.payment_retentions

  • retention_type - WARRANTY, PERFORMANCE, QUALITY, DEFECT_LIABILITY
  • retention_percentage - Typically 5-10%
  • retained_amount - Total held amount
  • release_conditions - When retention can be released
  • released_amount / balance_amount - Release tracking

5. Payment Recall

1

Payment Recall/Reversal

Handle payment recall requests for duplicate payments, wrong beneficiary, or fraud prevention.

finance.payment_recalls

  • recall_reason - DUPLICATE, WRONG_BENEFICIARY, FRAUD, ERROR
  • original_amount / recall_amount - Amounts
  • bank_reference / bank_response - Bank communication
  • recovered_amount - Actual recovery

Time-Critical

Payment recalls must be initiated within 24 hours for best chance of recovery. NEFT/RTGS recalls depend on beneficiary bank cooperation.

6. Self-Billing (ERS)

1

Evaluated Receipt Settlement

Buyer-generated invoices based on GRN, eliminating vendor invoice submission for qualified vendors.

finance.self_billing_records

  • grn_id - Source goods receipt
  • billing_date - Auto-generated invoice date
  • quantity / unit_price - From GRN and PO
  • vendor_accepted / vendor_accepted_at - Vendor acknowledgment

ERS Benefits

  • • Eliminates invoice processing
  • • Reduces disputes (buyer controls data)
  • • Faster payment cycle
  • • Lower transaction costs

Requirements

  • • ERS agreement signed
  • • Vendor registered for GST
  • • PO with fixed prices
  • • No service component

Database Schema Summary

TablePurposeKey Columns
finance.invoice_disputesDispute trackingdispute_type, disputed_amount, resolution
finance.credit_debit_notesAdjustment notesnote_type, reason_code, amounts
finance.advance_paymentsAdvance trackingadvance_type, bg_details, recovery
finance.payment_retentionsHoldback managementretention_type, release_conditions
finance.payment_recallsPayment reversalsrecall_reason, bank_response
finance.self_billing_recordsERS invoicesgrn_id, vendor_accepted