Skip to content

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.ts fields and columns vs doctype class fields.
  • 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.
  • computed.taxAndTds
  • computed.netPayable
  • computed.outputTaxAndIgst
  • computed.netReceivable
  • computed.paymentOutstanding
  • computed.netDisbursed
  • computed.tdsIndicator
  • computed.journalDifference
  • computed.glBalanceDifference
  • computed.bankVariance
  • computed.unmatchedQueue
  • computed.bankExceptionState
  • computed.claimPendingAmount
  • computed.accumulatedDepreciation
  • computed.assetLifecycle
  • computed.emdVerificationState

Resolution: remain UI-only and calculated by hooks in src/customization/hooks.ts.

  • Potential future requirement: payment-allocation child rows for open-item matching (PaymentVoucherAllocation style 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.

  • 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.

  • Updated libs/finance/src/finance/doctypes/payment_voucher/doctype.py with:
    • tds_rate
    • tds_amount
    • outstanding_amount
    • net_disbursed
  • Frontend build and integration tests must pass after this change set.
  • Contracts verify both the phase 9 classification artifact and the added model fields.