Intercompany Recharge Logic (DRAFT SPECS)
STATUS: ON HOLD / UNDER REVIEW This document collects all specifications, examples, and logic for the "Net Cost" implementation. This feature is currently in the "Study Phase" before implementation.
1. Core Concept
Net Cost = Total Invoice Amount - Total Recharged Amount
When "International" (Holding) receives an invoice but recharges portions to other entities (e.g., Italy, Spain), only the residual (Net Cost) should impact the Holder's budget.
2. Business Scenarios
Scenario A: Full Passthrough (The "Clearing" Case)
International acts as a pure pass-through.
- Invoice: 100k € from AWS.
- Recharge: 60k to Italy, 40k to Spain.
- Net Cost for International: 0 €.
- Use Case: Centralized procurement, Group Licenses.
Scenario B: Shared Service (The "Quota" Case)
International acts as a Service Provider + Consumer.
- Invoice: 100k € from Microsoft.
- Recharge: 20k to Italy, 10k to Spain.
- Retained: 70k (International's own users + Overhead).
- Net Cost for International: 70k €.
- Use Case: HQ Overhead, Tooling shared by teams.
Scenario C: Mixed/Usage
Optimization of Scenario B based on Variable metrics.
- Invoice: 150k € Equinix (Data Center).
- Recharge: Based on Rack usage (Italy 15 racks, Spain 8 racks).
- Net Cost: Calculated dynamically.
Scenario D: Reverse Recharge (Upstream Flow)
A Country acts as the initial Holder, then recharges International (who may redistribute).
- Case: "Italy" buys a local license that covers the whole group.
- Step 1 (Italy -> Int): Italy receives 10k invoice. Retains 2k (Local usage). Recharges 8k to International.
- Italy Net Cost: 2k €.
- International Cost: 8k €.
- Step 2 (Int -> Others): International receives the 8k charge from Italy. Recharges 2k to Spain, 2k to UK.
- International Net Cost: 4k €.
- Implication: The system must handle "Internal Invoices" where the Provider is a Group Entity.
3. Data Structure (Proposed)
Contracts & Invoices
We propose adding a recharge_breakdown section to Contracts and Invoices.
New Field: is_rechargeable (Checkbox)
New Subform: recharge_breakdown
- Entity: [Italy, Spain, UK, France, Germany] (Picklist)
- Percentage: % (Optional helper)
- Amount: EUR (Mandatory)
- Status: [To Bill, Billed, Settled]
Budget Metrics Impact (Dual View)
We need to see both views in the Reporting Pack.
| Metric | Definition | User |
|---|---|---|
| Gross Spent | Total Invoice Amount (Cash Out) | Treasury (Cash Flow) |
| Net Spent | Gross - Recharged | Controlling (P&L Budget) |
4. Workflows
4.1. Data Entry
- User enters Invoice (100k).
- Flags
is_rechargeable. - Fills subform: "Italy: 30k".
- System calculates
Net Cost(70k) on save.
4.2. Reporting
- Dashboard Toggle: Switch between "Gross" and "Net" view.
- Recharge Matrix: Pivot Table showing "Who owes Whom" (Rows: Holder, Cols: Entity, Values: Recharge Amount).
5. Open Questions (To Resolve before Imp.)
- Partial Recharges: Do we need to track the incoming invoice on the side of Italy? (e.g., does Italy need to see a "Cost" of 30k appearing automatically? Or will they receive a separate manually entered invoice from International?) -> Assumption: They receive a formal Intercompany Invoice.
- Timing: The Invoice from Vendor arrives in Jan. The Recharge Invoice to Italy is issued in Feb. Does this drift matter?