PO Management
Business perspective: PO Management
1. Business Summary
Customer Purchase Orders track financial authorization for jobs; statuses: ready, verified, used, cancelled; errors typed; sharing across accounts allowed; auto-creation in job intake.
2. Business Value
Ensures jobs are authorized before invoicing; supports verification and dispute resolution.
3. Users / Stakeholders
PMs, finance, AMs.
4. Workflows
- Manual or auto-creation (jobAutomation).
- Verification (Verification model) before invoicing.
- Linkage to ClientInvoice via
client_invoice_id. - Errors recorded via ErrorType.
5. Sub-Features
- PO sharing across related accounts (Account.account_po_option_id).
- Verification statuses.
6. Business Rules
po_status_idcontrols invoicing eligibility (verified/ready typically required).account_po_option_idcontrols account-level rules (PO required, etc.).error_type_idfor compliance/quality issues.
7. Data Entities
Po, PoStatus, Verification, ErrorType, AccountPoOption.
8. Entry Points
finance/pos,finance/poStatuses,finance/verifications.
9. Inputs & Outputs
- Inputs: PO number, account, currency, amount, jobs.
- Outputs: PO records, alerts, invoice eligibility.
10. Integrations
- SAP (PO export integration via
ExportInvoicesPOsController).
11. Calculations / Logic
- Amount tracking against jobs.
12. Status Lifecycle
- draft → ready → verified → used → closed/cancelled.
13. Permissions
- PM, finance, AM, brand-scoped.
14. Reports & KPIs
- PO ageing, errors by type, share usage.
15. Risks & Observations
- Verification model is empty placeholder (Observed) — verification logic likely external.
- PO errors silently block invoicing if not surfaced.
16. Source Code Evidence
app/Plugin/finance/Model/Po.php,PoStatus.php,Verification.php,ErrorType.php.app/Plugin/finance/Controller/PosController.php,PoStatusesController.php,VerificationsController.php.