Internal Invoices
Business perspective: Internal (Inter-Brand) Invoices
1. Business Summary
Inter-brand / inter-branch invoices documenting internal chargebacks, with explicit approval workflow before SAP sync.
2. Business Value
Inter-company allocation, profitability analysis.
3. Users / Stakeholders
Finance, executives, approvers.
4. Workflows
- Create InternalInvoice with InternalInvoicesTask + Expenses.
- Approval (
approval_status_id) gates SAP sync. sapInternalInvoiceSync()posts IC transactions.
5. Sub-Features
- IC branch routing; CardCode chosen by Branch.BP_sap_id or CustomerBrand.BP_sap_id.
6. Business Rules
- Issue date ≥ '2018-01-01' for SAP.
- Approval required before sync.
7. Data Entities
InternalInvoice, InternalInvoicesTask, InternalInvoicesExpense, ApprovalStatus.
8. Entry Points
finance/internalInvoices,finance/internalInvoicesTasks,finance/internalInvoicesExpenses.- Common:
submitInternalInvoice. - SAP sync.
9. Inputs & Outputs
- Inputs: tasks, expenses, approval.
- Outputs: IC records, SAP IDs.
10. Integrations
- SAP.
11. Calculations / Logic
- IC line items aggregated.
12. Status Lifecycle
- draft → submitted → approved → sap_posted.
13. Permissions
- Finance + approvers, brand-scoped.
14. Reports & KPIs
- IC volumes, approval cycle time.
15. Risks & Observations
- Approval bypass possible if status not validated upstream.
16. Source Code Evidence
app/Plugin/finance/Model/InternalInvoice.php,InternalInvoicesTask.php,InternalInvoicesExpense.php.app/Plugin/finance/Controller/InternalInvoicesController.php,InternalInvoicesTasksController.php,InternalInvoicesExpensesController.php.app/Controller/SapController.php:: internal invoice sync (~lines 1185–1300).