Finance App
Purpose: Handle vendor payments for locally procured materials and periodic payouts to field teams for completed jobs.
Responsibilities
Process vendor payments (UPI, bank transfer, cash) after local procurement
Track payment status and transaction references
Manage job payout lifecycle (Central Ops marks payable → Finance releases)
Support multiple payout schedules: per-job, fortnightly, monthly
Maintain payment schedules per team
Provide financial summaries and dashboards
Dependencies
procurement — VendorPayment is linked to ProcurementRequest
accounts — Finance users process payments; field teams receive payouts
Key Models
VendorPayment — Payment to a vendor for locally procured materials. Links to ProcurementRequest. Tracks amount, method, transaction reference, and status.
JobPayout — Payment to a field team for a completed installation. Requires Central Ops approval (
marked_payable) before Finance can release.PaymentSchedule — Defines the payout frequency for each team (per-job, fortnightly, or monthly).
Business Rules
Vendor payments require a completed ProcurementRequest with
actual_costrecorded.Field team payouts follow a two-step approval: Central Ops marks payable, Finance releases payment.
A job can only be marked payable after the installation status is
closed.Payment schedules determine when accumulated payouts are released.
All payments must have a transaction reference for audit purposes.
Finance dashboard shows: pending vendor payments, upcoming team payouts, overdue payments.