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_cost recorded.

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