Phase 9 Data/Model Gap Backlog
Purpose: track fields implied by finance screen skeletons and blueprint blocks that were missing in backing doctypes, then classify and resolve them with minimal model updates.
- Implemented workspaces reviewed: purchase invoice, sales invoice, payment entry, journal and GL, bank reconciliation, claims, fixed assets, EMD, dashboard touchpoints.
- Comparison basis:
libs/finance/frontend/src/customization/blueprints.tsfields and columns vs doctype class fields.
Missing Field Classification
Section titled “Missing Field Classification”persisted field in existing doctype
Section titled “persisted field in existing doctype”PaymentVoucher.tds_rate- Reason: used in payment-entry statutory deduction block and summary logic.
- Resolution: added as persisted decimal field with default
0.
PaymentVoucher.tds_amount- Reason: used in payment-entry statutory deduction block, grid, and summary logic.
- Resolution: added as persisted decimal field with default
0.
PaymentVoucher.outstanding_amount- Reason: used in payment-entry disbursement summary block and grid.
- Resolution: added as persisted decimal field with default
0.
PaymentVoucher.net_disbursed- Reason: used in payment-entry disbursement summary block and grid.
- Resolution: added as persisted decimal field with default
0.
UI-only computed field
Section titled “UI-only computed field”computed.taxAndTdscomputed.netPayablecomputed.outputTaxAndIgstcomputed.netReceivablecomputed.paymentOutstandingcomputed.netDisbursedcomputed.tdsIndicatorcomputed.journalDifferencecomputed.glBalanceDifferencecomputed.bankVariancecomputed.unmatchedQueuecomputed.bankExceptionStatecomputed.claimPendingAmountcomputed.accumulatedDepreciationcomputed.assetLifecyclecomputed.emdVerificationState
Resolution: remain UI-only and calculated by hooks in src/customization/hooks.ts.
child table requirement
Section titled “child table requirement”- Potential future requirement: payment-allocation child rows for open-item matching (
PaymentVoucherAllocationstyle model).
Resolution: tracked as backlog; not required to keep current payment-entry blocks functional because the current workspace uses summary and action entry points, not allocation row editing.
projection/report requirement
Section titled “projection/report requirement”- Dashboard stock reconciliation touchpoint fields (variance amount, valuation impact, pending journal linkage state) are cross-module reporting signals, not native finance transaction fields.
Resolution: tracked as integration projection requirement from WMS and ledger services.
Minimal Model Changes Implemented
Section titled “Minimal Model Changes Implemented”- Updated
libs/finance/src/finance/doctypes/payment_voucher/doctype.pywith:tds_ratetds_amountoutstanding_amountnet_disbursed
Validation
Section titled “Validation”- Frontend build and integration tests must pass after this change set.
- Contracts verify both the phase 9 classification artifact and the added model fields.