Templates
Open and read any model without an account. Download the Excel, or fork one into your own workspace.
- Coffee Shop NYC - Business Plan--- model_name: Coffee Shop NYC — Business Plan spec_version: "0.1" language: en currency: USD currency_display: "$0,0" sign_convention: expenses_negative periodicity: yearly period_range: "2026-2028" profile: Independent specialty café, Manhattan audience: Founder / lender business plan --- # Coffee Shop NYC — Business Plan ## Purpose 3-year business plan for an independent specialty coffee shop in Manhattan (2026–2028). Funds a build-out via owner equity + a bank loan, then ramps traffic and ticket. Deliverable: P&L, Cash Flow and Balance Sheet that tie out, plus a CFO-style dashboard. ## Sign convention Revenues positive. **All expenses, taxes, depreciation and interest are stored negative**, so every subtotal is a simple SUM (Gross Profit = Revenue + COGS, EBITDA = Gross Profit + Total OpEx, etc.). Capex assumptions are positive; the Cash Flow "Capex" line negates them. Loan principal repayment stored positive as an assumption, negated where it is a cash outflow / balance flow. ## Structure **Assumptions** → Revenue Drivers (customers/day, operating days, avg ticket), Cost Drivers (COGS %, card fee %, rent, payroll + loading, utilities, marketing, insurance, repairs, other, inventory & DPO days, tax rate), Capex & Financing (build-out & maintenance capex, useful life, equity, loan draw, interest rate, principal repayment) + helper trackers (Total Capex, Gross PPE cost, Loan opening balance). **P&L**: Revenue = customers/day × operating days × avg ticket. COGS = % of revenue. Gross Profit → less OpEx (incl. loaded payroll = base × 1.15, and card fees = % of revenue) → EBITDA → less Depreciation → EBIT → less Interest → Pre-Tax Income → less Income Tax (MAX(0, EBT × rate)) → Net Income. Margin KPIs at gross / EBITDA / net. **Cash Flow**: Net Income + Depreciation add-back ± ΔInventory ± ΔAP = Operating CF; − Capex = Investing CF; + Equity + Loan draw − Principal = Financing CF; sum = Net Cash Flow, which feeds the Cash Balance. **Balance Sheet**: Assets = Cash + Inventory + Fixed Assets (net). Liabilities = Accounts Payable + Loan Balance. Equity = Paid-in Capital + Retained Earnings (rolls Net Income). **Balance Check = Assets − Liabilities − Equity = 0** every year (monitored). ## How it rolls - All balances open at 0; the business is funded in 2026 (150k equity + 200k loan) and the 250k build-out hits as year-1 capex. - Depreciation = cumulative gross capex ÷ useful life (7y), straight-line. - Interest = opening loan balance × 8%. - Fixed Assets (net) = capex − depreciation; Loan amortises via principal repay. ## Known simplifications - Flat 360 operating days; blended ticket (no day-part / product split). - COGS a flat % of revenue; payroll a single loaded line (no headcount roster). - Working capital limited to inventory (14 days) and AP (30 days); receivables immaterial for a cash/card café. - Year-1 shown profitable on these drivers — stress the ramp before lending use.4 sections · 88 items
- Module · 3-Statement Skeleton--- title: Module · 3-Statement Skeleton currency: USD units: absolute sign_convention: expenses_negative timeline: yearly 2026–2028 purpose: Reusable starting point — complete, balanced 3-statement model. --- # Module · 3-Statement Skeleton Modèle 3 états **complet et équilibré** (Balance Check = 0) servant de point de départ : cloner, puis remplacer les drivers par les chiffres réels. Convention `expenses_negative` (coûts, amortissements, intérêts, impôts en négatif → sous-totaux = simples sommes). ## Structure - **Skeleton · Assumptions** (drivers à éditer) : Revenue, COGS %, Operating Expenses, Capex, PP&E Useful Life, Equity Injection, Debt Draw/Rate/Repayment, Tax Rate, DSO/DPO/Days Inventory. - **P&L** : Revenue → COGS → Gross Profit → Operating Expenses → EBITDA → D&A → EBIT → Interest → EBT → Income Tax → Net Income. - **Cash Flow** : Net Income + D&A add-back ± variations de BFR = Operating CF ; − Capex = Investing ; Equity + Draw − Repayment = Financing ; somme = Net Cash Flow. - **Balance Sheet** : Actif (Cash, AR, Inventory, Net PP&E) ; Passif (AP, Debt) ; Capitaux propres (Share Capital, Retained Earnings) ; `Balance Check` avec monitor `== 0`. - **Schedules** : Gross PP&E (cumul Capex), Accumulated Depreciation (cumul D&A), Debt roll, AR/Inventory/AP en jours. ## Comment ça boucle Net Income → Retained Earnings (balance). Net Cash Flow → Cash (balance). Capex → Gross PP&E ; D&A → Accumulated Depreciation ; Net PP&E = Gross + Accumulated. L'identité Actif = Passif + Capitaux propres est garantie : chaque poste non-cash du bilan a son ajustement miroir au cash flow. ## Réutilisation (commandes) 1. **Forker ce squelette** comme base d'un nouveau modèle : `layerz_create_model({ name, template_id: "65ff2576-25f3-455e-ae42-104612728d23" })` 2. **Injecter un module** dans le modèle hôte (un appel, sans recopier d'ops), puis remplacer la ligne simplifiée correspondante par la sortie du module : - HR Payroll → remplace `Operating Expenses` : `layerz_build_from_blueprint({ model_id: <hôte>, template_id: "904dfd07-079e-46e2-bf93-8456498398e8", mode: "merge" })` - Debt Multi-loan → remplace `Interest Expense`, le financement et la dette au bilan : `layerz_build_from_blueprint({ model_id: <hôte>, template_id: "61f3ab2a-9e0f-4e64-976a-5e70e9311363", mode: "merge" })` 3. Éditer les drivers (`Skeleton · Assumptions`) puis vérifier `Balance Check == 0`.5 sections · 56 items
- Module · Debt Multi-loan Schedule--- title: Module · Debt Multi-loan Schedule currency: USD units: absolute sign_convention: expenses_negative timeline: yearly 2026–2028 purpose: Reusable building block (fragment) — consolidated multi-loan schedule. --- # Module · Debt Multi-loan Schedule ⚠️ **Fragment réutilisable, PAS un modèle 3 états.** Ce modèle ne contient qu'un module à coller dans un modèle hôte. Ne pas y ajouter de P&L / Cash Flow / Balance Sheet : son rôle est de produire des lignes de sortie à brancher. ## Ce que fait le module Échéancier multi-emprunts consolidé (2 emprunts d'exemple : Senior Debt, Equipment Loan). - **Entrées par emprunt** : `Draw`, `Rate`, `Repayment`. - **Logique par emprunt** : `Opening = Closing(N-1) + Draw` ; `Interest = Opening × Rate` (négatif) ; `Closing = Opening − Repayment`. Le report N-1 utilise le suffixe lag `$uid_Y-1`. - **Sorties** : - `Debt · Total Interest` → P&L (charge, négatif) - `Debt · Total Draws` → Cash Flow financement (entrée, +) - `Debt · Total Repayment` → Cash Flow financement (sortie, −) - `Debt · Total Closing Balance` → Bilan (dette, passif) ## Réutilisation (commandes) Injecter ce module dans un modèle hôte en un appel, puis brancher les 4 sorties sur les états hôtes : `layerz_build_from_blueprint({ model_id: <hôte>, template_id: "61f3ab2a-9e0f-4e64-976a-5e70e9311363", mode: "merge" })` **Étendre** : copier une sous-section `Loan X` et l'ajouter aux 4 totaux. Noms préfixés `Debt ·` / `Loan X ·` pour éviter les collisions.1 section · 19 items
- Module · HR Payroll--- title: Module · HR Payroll currency: USD units: absolute sign_convention: expenses_negative timeline: yearly 2026–2028 purpose: Reusable building block (fragment) — list-driven payroll by employee and BU. --- # Module · HR Payroll ⚠️ **Fragment réutilisable, PAS un modèle 3 états.** Module à coller dans un modèle hôte ; ne pas y ajouter de P&L / Cash Flow / Balance Sheet. Sa raison d'être : produire la masse salariale (et sa ventilation par BU). ## Pattern : listes natives (Personnel × Business Units) Le module repose sur **deux listes** et le pattern `mapped_to` (comme la section RH du template SaaS) : - **`HR · Personnel`** : un item par employé. Chaque employé porte `mapped_to` vers **une BU**. - **`HR · Business Units`** : un item par BU (Operations, Sales, G&A…). Items : - **`HR · Salary`** — assumption `liste_ref: Personnel`, un salaire annuel par employé (0 avant embauche). Agrégat = masse salariale brute. - **`HR · Headcount`** — formule `liste_ref: Personnel` : `IF(Salary > 0, 1, 0)`. Agrégat = effectif total (FTE). - **`HR · Payroll by BU`** / **`HR · Headcount by BU`** — formula-lists `liste_ref: Business Units` (`= Salary`, `= Headcount`). Le moteur déploie une colonne par BU en sommant les employés dont `mapped_to` pointe la BU ; l'agrégat = total société. - **`HR · Total Gross Salary`** — formule scalaire `= Salary` (réf scalaire d'une liste = somme sur les éléments). - **`HR · Loading Factor`** — multiplicateur charges + avantages (ex. 1.25). - **Sortie : `HR · Total Payroll Cost`** = `-(Total Gross Salary × Loading)` (négatif) → ligne personnel du P&L hôte. ## Éditer - **Ajouter un employé** : ajouter un item à `HR · Personnel` avec son `mapped_to` BU, puis sa ligne de salaire dans `HR · Salary`. - **Réaffecter** : changer le seul `mapped_to` de l'employé. - **Ajouter une BU** : ajouter un item à `HR · Business Units` ; `Payroll by BU` / `Headcount by BU` prennent la colonne automatiquement. ## Réutilisation (commandes) `layerz_build_from_blueprint({ model_id: <hôte>, template_id: "904dfd07-079e-46e2-bf93-8456498398e8", mode: "merge" })`, puis brancher `HR · Total Payroll Cost` sur le P&L hôte. ## Pièges de câblage (via layerz_patch) - La **liste cible d'un `mapped_to` doit déjà exister** (committée dans un patch antérieur) : on ne peut pas y référencer une liste créée dans le même batch. - `mapped_to` est **clé = UID de la liste cible**, **valeurs = UIDs des items** cibles (pas les labels). - `timeline_values` d'une assumption-liste peut être **clé par label d'élément**.1 section · 7 items
- SaaS Reporting & Forecast--- model_name: SaaS Reporting & Forecast spec_version: "0.1" language: en currency: USD currency_display: "$0,0" sign_convention: expenses_negative periodicity: yearly period_range: "2024-2028" profile: B2B mid-market SaaS demo audience: Part-time CFO --- # SaaS Reporting & Forecast — Demo Model ## Purpose Operating model for a B2B mid-market SaaS company over 2024–2028. Sections: Assumptions → Operating Drivers → RH (list-driven roster) → P&L → Unit Economics → Cash Flow → Balance Sheet, plus a CFO Dashboard and a Budget-vs-Actuals close dashboard. ## Scenario B2B SaaS entering 2024 with **30 active customers**, $500k cash, $100k PPE, $600k paid-in equity. Growth funded by a **$3M Series A in 2025**. **Actuals & variance.** 2024 is a closed year — its real results are baked into the base. An **Actuals 2025** branch overlays the real FY2025 outcome; the **Budget vs Actuals — Clôture 2025** dashboard surfaces the gap (variance mini-table + EBITDA Budget→Actual bridge). ## Sign convention - **Revenues** positive. **COS, OpEx, D&A and taxes** stored **negative** as flows; subtotals **add** them: Gross Profit = Revenue + Total COS, EBITDA = Gross Profit + Total OpEx, EBIT = EBITDA + D&A. - **Capex** stored positive in the assumption; CF line negates it. - **Depreciation Charge** negative on Fixed Assets (reduces NFA = Gross FA + Accum Depr). - **Churned Customers** negative (reduces Customer Base balance). - **AR change** in OCF: AR growth = cash outflow → negative. - **AP / CAC / Magic Number** read off negative cost lines but are re-signed to display positive. ## Engine glossary | Term | Definition | |---|---| | **Customer Base** | Rolling balance of EoP customers. Flows: +New, −Churned. In **Operating Drivers**. | | **Recurring Revenue (ARR)** | Customers × CARR + Expansion. | | **Expansion Revenue** | Customers × CARR × Expansion Rate. | | **Build Revenue** | One-off services (separate from ARR). | | **NRR** | 1 + Expansion − Annual Churn. | | **Rule of 40** | ARR Growth + EBITDA Margin. | | **CAC** | S&M Spend / New Customers. | | **ARR per FTE** | ARR / Total Active FTE. | ## Headcount — native list pattern (mapped_to + formula-lists) The **RH section** uses the Layerz native list-dimension pattern. The employee→department assignment lives in **one place only**: the `mapped_to` metadata on each `Employees` list item. - **List `Employees`** (30 items) — each carries `mapped_to: { Departments: [dept] }`. - **List `Departments`** — S&M, R&D, Ops, G&A. - **`Salary`** — `assumption` with `liste_ref: Employees`, yearly. One value per employee per year (0 before hire). - **`Headcount (per Employee)`** — list-mode `formula`: `IF(Salary > 0, 1, 0)`. - **`Dept Payroll` / `Dept Headcount`** — formula-lists with `liste_ref: Departments` (`= Salary`, `= Headcount`); the engine deploys one column per department. - **Consumers** — P&L OpEx lines read one department via `-Dept Payroll[$<DeptUid>] × Fully Loaded Multiplier` (negative under the cost convention). **To add staff**: add an `Employees` item with `mapped_to`, then its yearly salary. **To add a department**, add a `Departments` item and map employees — `Dept Payroll`, `Dept Headcount` and the chart pick up the new column automatically (it will NOT hit the P&L until an OpEx line reads it). ## Key drivers - **Segment CARR**: $22k → $30k - **New Customers/Year**: 50, 80, 130, 200, 300 (2024 real lower) - **Monthly Churn**: ~1% - **Expansion Rate**: 8% → 20% - **Fully Loaded Multiplier**: 1.3 - **Build COGS Pct**: 55% → 45% - **Annual Capex**: $50k → $90k - **Tax Rate**: 25% ## How the model rolls - **Customer Base** opens at 30; rolls with new + churn. - **Cash Balance** opens at $500k; FCF = OCF + Capex + Equity Raise. - **Equity** opens at $600k; +Equity Raise. **Retained Earnings** +Net Income each year. - **Balance Check = 0** every year (Total Assets = Total L&E), on base and on the Actuals branch. ## Known simplifications - Depreciation = 3-year rolling capex average. - Run COS = 15% of recurring revenue. - Build Revenue delivered same period (no WIP). - Salaries flat per employee within active years.7 sections · 106 items