Skip to main content

Business plan

The forecast for selling the console, generated from our cost figures by scripts/business/bp_model.py. It shows, for each of three legal forms:

  • Unit economics: what one unit leaves after VAT, fees, shipping and parts.
  • Break-even: how many units per year cover the fixed costs.
  • Three-year forecast: revenue, profit, taxes with INPS, and what reaches the owner, under three volume scenarios.
  • Cash low point: the money needed before sales pay for themselves, because each production batch is paid up front.

How to update it​

  1. Put the figures in scripts/business/costs.yaml. For each one, set status: real and give the quote or invoice in note.
  2. Run python3 scripts/business/bp_model.py --update-doc. This rewrites the generated block below.
  3. Or run /business-plan, which collects the figures, runs the model and explains the result.

Every input that is not a quote is listed at the top of the generated block, so a forecast is never read as if it were built on real numbers.

JLCPCB quotes for the board​

Two JLCPCB quotes for the same board (PCB 4 layers, 1.6 mm, HASL; parts mounted on both sides). Splitting them gives the part of each line paid once per order and the part paid per board, which is what the model uses for any order size. USD at 0.92 EUR.

Line5 boards (order W2026041704500077)50 boards (cart, 2026-10-16)Fixed per orderPer board
PCB$31.44$109.95$22.72$1.75
PCBA (parts + mounting)$164.69$556.32$121.18$8.70
Shipping$24.29$124.65 (7.37 kg)$13.14$2.23
Total$220.42$790.92
Per board$44.08$15.82
  • At 5 boards the PCBA line is mostly its fixed part: setup on both sides, stencils and extended-part fees.
  • At 50, parts and mounting cost $8.70 per board. That is less than the parts alone bought from LCSC for 5 sets (10.80 EUR per board).
  • With import VAT and clearance, 5 boards landed at about 270 EUR. That gives a clearance fee of about 22.60 EUR per parcel.
  • From about 10 boards per order, PCBA costs the same as placing the parts ourselves, and at 50 it is cheaper. See Assembly: our own or JLCPCB PCBA below.

Forecast​

Generated by scripts/business/bp_model.py from costs.yaml and tax_it.yaml (2026).

41 inputs are not quotes
InputStatusNote
fx_usd_eurplaceholderupdate on the day of the quote
price.retail_grossplaceholderconsumer price incl. VAT (B2C)
channels[own webshop]placeholder
channels[marketplace]placeholder
unit_costs.batteryplaceholderLiPo 103665 3000 mAh since 2026-11-01 (AliExpress 1005012931343083); price NOT yet given — still the 5000 mAh cell's single-piece 6.00 (user, 2026-10-15); needs UN38.3 + MSDS
unit_costs.speakerprototype
unit_costs.buttons_miscplaceholderbutton caps, inserts, FPC, wires
unit_costs.packagingplaceholderbox, foam, manual, labels (WEEE bin, CE)
assembly_routes.self.unit_costs.assembly_testplaceholderplace + reflow + fix + fit display/battery/case + flash + test: ~40 min at 15 EUR/h
assembly_routes.self.shipments.jlcpcbplaceholderfixed part as on the PCBA quotes; bare PCBs weigh ~40% of an assembled board (estimate)
assembly_routes.self.shipments.lcscplaceholderparts, paste, SD cards, screws, speaker, button caps
assembly_routes.self.one_off.assembly_toolsplaceholderhot plate / reflow, tweezers, microscope
assembly_routes.pcba.unit_costs.assembly_testplaceholderfit display/battery/case + flash + test: ~15 min at 15 EUR/h
shipments.displayplaceholderpanel seller
shipments.batteryplaceholderlithium cells travel on dedicated lines (UN38.3)
shipments.caseplaceholdercase maker; bulky, by volume weight
per_order.shipping_to_customerplaceholdercost to us; see shipping_charged
per_order.shipping_chargedplaceholderwhat the customer pays for shipping, net
rates.returnsplaceholder14-day withdrawal right (Codice del Consumo art. 52)
rates.warrantyplaceholder2-year legal guarantee: share of revenue set aside
rates.eu_sales_shareplaceholderB2C sales to other EU states (OSS above 10k EUR)
one_off.precompliance_scanplaceholderone day in an EMC chamber before the formal test (500-1000), so a failure is fixed before paying for the full test
one_off.emc_radio_testsplaceholderRED art. 3.1b/3.2: EN 301 489-1/-17, EN 55032/55035, EN 300 328 partly covered by the ESP32-S3 module reports (3000-6000)
one_off.rf_exposureplaceholderRED art. 3.1a: EN 62479 low-power assessment (300-800)
one_off.safety_reportplaceholderRED art. 3.1a: EN 62368-1 (1500-3500); EN 62133-2 and UN 38.3 for the cell come from its supplier
one_off.cybersecurityplaceholderEN 18031-1 self-assessment with Espressif's templates (own work + a review); a notified body adds 3000-8000 if a restriction applies
one_off.rohs_reachplaceholdersupplier declarations + spot XRF screening
one_off.tech_file_manualplaceholderDeclaration of Conformity, technical file, Italian manual and warnings, labels (CE, WEEE bin, battery)
one_off.enclosure_toolingplaceholderinjection mould if leaving 3D print
one_off.company_setupplaceholderP.IVA / SRLS notary, chamber of commerce
one_off.website_brandplaceholder
one_off.trademarkplaceholderEUIPO 1 class ~850 EUR
one_off.first_marketingplaceholder
monthly_fixed.accountantplaceholdercommercialista; SRL costs more
monthly_fixed.insuranceplaceholderproduct liability (RC prodotti)
monthly_fixed.software_hostingplaceholder
monthly_fixed.weee_batteriesplaceholderRAEE + pile consortium fees, CONAI
monthly_fixed.marketingplaceholder
one_off_amortization_yearsplaceholderthe commercialista decides: 1-5 years
srl_extra_yearlyplaceholder
inventory.paid_upfrontplaceholdershare of a batch paid at order

Every figure below moves with them. Replace them with quotes, then regenerate.

Tax parameters not verified

Not yet checked against the sources: forfettario, irpef, inps_commercianti, srl, iva, customs. Run /fiscal-italy to check them; a commercialista confirms the final choice.

Cost inputs​

Every figure the forecast uses, with where it comes from. EUR, net of VAT.

Per console, any assembly route​

ItemEURParcelDutyStatusSource
pcb_bare1.61jlcpcb0.0%realJLCPCB $1.745 per PCB: split of two quotes, 5 pcs $31.44 (order W2026041704500077) and 50 pcs $109.95 (cart 2026-10-16), at 0.92 EUR/USD
display8.00display0.0%realILI9488 3.95in, single-piece price (user, 2026-10-15); lower in stock
battery6.00battery2.7%placeholderLiPo 103665 3000 mAh since 2026-11-01 (AliExpress 1005012931343083); price NOT yet given — still the 5000 mAh cell's single-piece 6.00 (user, 2026-10-15); needs UN38.3 + MSDS
speaker0.90lcsc2.0%prototype
enclosure30.00case6.5%realrough case 30 EUR, custom up to 100 EUR (user, 2026-10-15); the low end is used
screws0.30lcsc3.7%realper console (user, 2026-10-15)
buttons_misc1.70lcsc0.0%placeholderbutton caps, inserts, FPC, wires
sd_card3.00lcsc0.0%realper card (user, 2026-10-15); only if shipped in the box; must not contain ROMs
packaging2.500.0%placeholderbox, foam, manual, labels (WEEE bin, CE)
pcb_order_fee (per order)20.900.0%realJLCPCB fixed part of a PCB order, $22.72 (same two quotes; the user's '22 EUR fee'), not shipping

Assembly route self​

Bare PCBs from JLCPCB, parts from LCSC, we place them with a stencil and reflow.

ItemEURParcelDutyStatusSource
solder_paste0.20lcsc0.0%real10 EUR per 50 g (user, 2026-10-15); ~1 g per board through the stencil is an estimate
components10.80lcsc0.0%realboard parts, 54 EUR per 5 PCBs (user, 2026-10-15)
assembly_test10.000.0%placeholderplace + reflow + fix + fit display/battery/case + flash + test: ~40 min at 15 EUR/h
stencil (once)22.000.0%realJLCPCB stencil, reusable (user, 2026-10-15)
assembly_tools (once)150.000.0%placeholderhot plate / reflow, tweezers, microscope
ParcelCourier+ per consoleCustoms clearanceStatusSource
jlcpcb12.090.8022.60placeholderfixed part as on the PCBA quotes; bare PCBs weigh ~40% of an assembled board (estimate)
lcsc18.000.0012.00placeholderparts, paste, SD cards, screws, speaker, button caps

Assembly route pcba (used by the forecast)​

JLCPCB makes the PCB and mounts every part; we fit display, battery and case.

ItemEURParcelDutyStatusSource
pcba8.01jlcpcb0.0%realparts + mounting, both sides, $8.70 per board: split of PCBA $164.69 for 5 (order W2026041704500077) and $556.32 for 50 (cart 2026-10-16); duty 0% (assembled board for a console, HS 9504.50 / 8473.30: confirm with the broker)
assembly_test4.000.0%placeholderfit display/battery/case + flash + test: ~15 min at 15 EUR/h
pcba_setup (per order)111.490.0%realfixed part of a PCBA order, $121.18 (setup both sides, stencils, extended-part fees), from the same two quotes
ParcelCourier+ per consoleCustoms clearanceStatusSource
jlcpcb12.092.0522.60realshipping $13.14 + $2.23 per board: split of $24.29 for 5 and $124.65 for 50 (7.37 kg); clearance = the user's 270 EUR landed for 5 - (goods + shipping) x 1.22

Parcels merged: lcsc travels in jlcpcb.

Parcels from China, any route (per production order)​

ParcelCourier+ per consoleCustoms clearanceStatusSource
display8.000.0012.00placeholderpanel seller
battery12.000.0012.00placeholderlithium cells travel on dedicated lines (UN38.3)
case15.000.0012.00placeholdercase maker; bulky, by volume weight

Duty is waived on a parcel worth up to 150 EUR (rule being removed by the EU, see tax_it.yaml). Import VAT is paid at customs on every parcel: recovered by the VAT-registered forms, a cost in the forfettario.

One-off and monthly​

ItemEURWhenStatusSource
precompliance_scan800onceplaceholderone day in an EMC chamber before the formal test (500-1000), so a failure is fixed before paying for the full test
emc_radio_tests4,000onceplaceholderRED art. 3.1b/3.2: EN 301 489-1/-17, EN 55032/55035, EN 300 328 partly covered by the ESP32-S3 module reports (3000-6000)
rf_exposure500onceplaceholderRED art. 3.1a: EN 62479 low-power assessment (300-800)
safety_report2,500onceplaceholderRED art. 3.1a: EN 62368-1 (1500-3500); EN 62133-2 and UN 38.3 for the cell come from its supplier
cybersecurity1,500onceplaceholderEN 18031-1 self-assessment with Espressif's templates (own work + a review); a notified body adds 3000-8000 if a restriction applies
rohs_reach300onceplaceholdersupplier declarations + spot XRF screening
registrations230oncerealRAEE register 46 (30 + 16 stamp) + battery register 184 (168 + 16 stamp), Chamber of Commerce pages 2025
tech_file_manual500onceplaceholderDeclaration of Conformity, technical file, Italian manual and warnings, labels (CE, WEEE bin, battery)
enclosure_tooling0onceplaceholderinjection mould if leaving 3D print
company_setup500onceplaceholderP.IVA / SRLS notary, chamber of commerce
website_brand1,500onceplaceholder
trademark900onceplaceholderEUIPO 1 class ~850 EUR
first_marketing2,000onceplaceholder
accountant150monthlyplaceholdercommercialista; SRL costs more
insurance40monthlyplaceholderproduct liability (RC prodotti)
software_hosting40monthlyplaceholder
weee_batteries25monthlyplaceholderRAEE + pile consortium fees, CONAI
marketing300monthlyplaceholder

Cost per console by order size​

Sole trader, ordinary (VAT recovered). Only the per-order costs (fees, parcels, duty above the waiver) change with the order size; part prices stay at the quoted quantities.

Units per orderParts + assemblyShipping from China + customsCost per consoleCash per order
592.5023.19115.69578
1079.2614.6093.86939
5068.676.3074.973 749
10067.345.2572.597 259

Assembly: our own or JLCPCB PCBA​

Per console, parcels and customs included. Our time is part of the cost, valued at an hourly rate. Import VAT is paid at customs: the ordinary regime and the SRL recover it (it is only cash advanced), the forfettario does not (it is in its cost column). Part prices stay at the quoted quantities: a lower price at volume (LCSC parts for 50 sets) favours the route it belongs to.

Units per orderRouteParts + assemblyof which our timeDutyClearance + courierCost, ordinaryImport VAT advancedCost, forfettarioCash per order
5self79.1910.000.0027.94107.1316.79130.70570
5pcba92.504.000.0023.19115.6915.62141.14637
10self77.1010.001.9814.3793.4515.80114.01992
10pcba79.264.001.9812.6293.8615.02114.511 049
50self75.4310.002.143.5181.0814.6998.924 288
50pcba68.674.002.144.1674.9714.2291.474 260
100self75.2210.002.142.1679.5214.5497.018 406
100pcba67.344.002.143.1172.5914.1288.568 271

When PCBA wins. JLCPCB's assembly price per board (parts + mounting, its per-order share included, the PCB itself excluded: both routes pay it) at which the two routes cost the same, ordinary regime. A quote below it makes PCBA cheaper:

Units per orderBreak-even assembly price per boardThis quote
521.7530.31
1018.7519.16
5016.3510.24
10016.059.12

Unit economics​

EUR per unit sold, at a shelf price of 129.00 EUR incl. VAT.

Sole trader, forfettarioSole trader, ordinarySRL / SRLS
Revenue (net of VAT and returns)122.55100.45100.45
Sales channel fees11.8710.1610.16
Shipping (net)8.547.007.00
Warranty reserve3.683.013.01
Parts, assembly, order fees83.7768.6768.67
Shipping from China + customs7.696.306.30
Contribution margin7.005.305.30
Fixed costs per year8 0206 6609 160
One-off costs (launch)18 58115 23015 230
Break-even units/year (fixed costs only)1 1461 2571 729

Launch costs per console​

The one-off costs (15 230 EUR, of which 10 330 for certification and registrations) spread over the consoles sold in three years. A hardware revision needs new test reports, so the certification is spread only over the units of the design it covers.

ScenarioUnits in 3 yearsCertification per consoleAll one-off per console
pessimistic85012.1517.92
base2 2004.706.92
optimistic5 1002.032.99

In the books (ordinary regime, SRL) the one-off costs are deducted over 3 years (one_off_amortization_years); the forfettario deducts nothing.

Three-year forecast​

Profit is before taxes; taxes include INPS. Net to owner is for the SRL what reaches the owner if all profit is paid out as dividends. Cash low point is the deepest the bank account goes in a monthly simulation: the money needed up front.

Scenario: pessimistic (150 / 300 / 400 units)​

FormYearRevenueProfitTaxes + INPSNet to owner
Sole trader, forfettario118 382-13 1634 931-18 094
236 765-12 1136 960-19 073
349 020-11 4139 280-20 694
Sole trader, ordinary115 068-10 9424 542-15 484
230 135-10 1474 542-14 689
340 180-9 6174 542-14 159
SRL / SRLS115 068-13 4424 542-17 984
230 135-12 6474 542-17 189
340 180-12 1174 542-16 659

Cash low point: Sole trader, forfettario -62 435 · Sole trader, ordinary -48 080 · SRL / SRLS -55 580

  • Sole trader, forfettario, year 2: from this year EU B2C sales ~11,030 EUR above 10000: destination VAT through OSS (not modelled)
  • Sole trader, ordinary, year 3: from this year EU B2C sales ~12,054 EUR above 10000: destination VAT through OSS (not modelled)
  • SRL / SRLS, year 3: from this year EU B2C sales ~12,054 EUR above 10000: destination VAT through OSS (not modelled)

Scenario: base (300 / 700 / 1200 units)​

FormYearRevenueProfitTaxes + INPSNet to owner
Sole trader, forfettario136 765-12 1136 960-19 073
285 785-9 31416 240-25 554
3 (ordinary)120 541-6 4944 542-11 036
Sole trader, ordinary130 135-10 1474 542-14 689
270 316-8 0274 542-12 569
3120 541-5 3774 542-9 919
SRL / SRLS130 135-12 6474 542-17 189
270 316-10 5274 542-15 069
3120 541-7 8774 542-12 419

Cash low point: Sole trader, forfettario -63 167 · Sole trader, ordinary -43 855 · SRL / SRLS -51 147

  • Sole trader, forfettario, year 1: from this year EU B2C sales ~11,030 EUR above 10000: destination VAT through OSS (not modelled)
  • Sole trader, forfettario, year 2: revenue above 85000: ordinary regime from next year
  • Sole trader, ordinary, year 2: from this year EU B2C sales ~21,095 EUR above 10000: destination VAT through OSS (not modelled)
  • SRL / SRLS, year 2: from this year EU B2C sales ~21,095 EUR above 10000: destination VAT through OSS (not modelled)

Scenario: optimistic (600 / 1500 / 3000 units)​

FormYearRevenueProfitTaxes + INPSNet to owner
Sole trader, forfettario173 530-10 01313 920-23 934
2 (ordinary)150 676-4 9044 542-9 446
3 (ordinary)301 3523 0464 542-1 496
Sole trader, ordinary160 270-8 5574 542-13 099
2150 676-3 7874 542-8 329
3301 3524 1634 542-379
SRL / SRLS160 270-11 0574 542-15 599
2150 676-6 2874 542-10 829
3301 3521 6635 006-3 343

Cash low point: Sole trader, forfettario -58 316 · Sole trader, ordinary -45 248 · SRL / SRLS -50 248

  • Sole trader, forfettario, year 1: from this year EU B2C sales ~22,059 EUR above 10000: destination VAT through OSS (not modelled)
  • Sole trader, forfettario, year 2: revenue above 100000: out of the forfettario this year, ordinary regime
  • Sole trader, ordinary, year 1: from this year EU B2C sales ~18,081 EUR above 10000: destination VAT through OSS (not modelled)
  • SRL / SRLS, year 1: from this year EU B2C sales ~18,081 EUR above 10000: destination VAT through OSS (not modelled)

Model simplifications​

  • VAT is netted for the VAT-registered forms; in the forfettario no VAT is charged and input VAT is a cost.
  • One-off costs are paid in cash before launch and deducted over one_off_amortization_years; losses are not carried forward.
  • Returned units are refunded and written off; taxes are paid at the end of each year (really: acconti and saldo in June/November).
  • Forfettario tax is on revenue x coefficient, not on real profit: when real costs exceed (1 - coefficient) of revenue, it taxes a profit that does not exist.
  • SRL: IRAP approximated on the operating profit (no employees); the working partner pays INPS commercianti on at least the minimale.