If your reconciliation tool is handling UPI collections for term deposit openings (FDs), you really want those payments tagged with the right purpose code, otherwise, your audit trail turns into spaghetti.
Here’s how to do it without overcomplicating your system:
- Add a purpose code field to every incoming UPI transaction
When your system parses PSP or NPCI settlement files, include a column for purpose codes.
If you’re generating the UPI collect request yourself, you can also tag it in the payload (many gateways support this).
Example:
purpose_code: TDOP
Here, TDOP = Term Deposit Opening Payment.
- Maintain a small internal mapping table
Keep a lookup that maps product categories → purpose codes.
When reconciliation runs, match the incoming payment to the category (based on metadata or account it hit) and auto-assign the right code.
- Write it into your ledger and export files
In your ledger entries, include the purpose code as a column or tag.
This lets auditors filter only FD-related receipts instantly.
- Push the code to your GST and accounting exports
When your reconciliation tool pushes data to your accounting package or GST e-invoice system, include the purpose code as part of the Payment
Details section:
Payment Mode: UPI
Purpose Code: TDOP (Term Deposit Opening)
UPI Ref ID: 324915674382
That gives traceability from PSP → ledger → GST filing.
- Validate the tagging logic
If your reconciliation logic ever sees a UPI payment hit a Term Deposit account but no purpose code attached, flag it.
This catches untagged or misrouted collections early.
- Optional: send purpose code to PSP
Some PSPs (like RazorpayX, Cashfree, and PayU 2.0 APIs) now let you include a purpose field in your UPI collect/create call.
If supported, send purpose_code: TDOP, it’ll also show up in their settlement exports and make reconciliation even cleaner.