from pathlib import Path
html = r"""
London Payroll & Invoice ULTIMATE v2 (FIXED)
"""
out_path = Path("/mnt/data/london-ultimate-calculator-v2-fixed.html")
out_path.write_text(html, encoding="utf-8")
str(out_path)
London Payroll & Invoice ULTIMATE v2 — FIXED
🖨️ Print/PDF • INV No • Workers DB • Labour • Materials • Invoice Items • Per-worker split • CIS • VAT • Sheets
London trades Health: OK Mode: Payroll Invoice: —
London trades Health: OK Mode: Payroll Invoice: —
1) Job
Оставь пустым → создаст автоматически при Print/Save (Invoice mode).
2) Time
3) Labour (Crew lines + Workers)
| Trade | Level | Mode | DayHours | Rate | Heads | Workers (comma) / from DB | OT h | OT × | Accrued | Paid | Adj | Due | Due/worker | ✖ |
|---|
• Paid/Adj/Extras распределяются от Accrued (work+extras) с контролем копеек.
• Per-worker split: через кнопку 💷 Per-worker split можно задать суммы на каждого человека.
• Per-worker split: через кнопку 💷 Per-worker split можно задать суммы на каждого человека.
4) Materials (separate)
| Description | Qty | Unit £ | Line £ | ✖ |
|---|
Materials НЕ входят в CIS base. VAT можно считать на labour/materials/оба/всё (см. ниже).
6) Invoice Items (real invoice lines)
| Type | Description | Qty | Unit £ | Line £ | ✖ |
|---|
• Типы: Labour / Materials / Other / Discount (discount = минус).
• CIS base берёт только Labour (work + labour-items + bonus). VAT base выбирается ниже.
• CIS base берёт только Labour (work + labour-items + bonus). VAT base выбирается ниже.
5) Money logic (Payments • CIS • VAT • Sheets)
CIS base = Labour = Work total + Labour Items + Bonus. Materials/Other/Expenses excluded.
—
Отправляет job + labour + materials + items + totals + invoice.
Dashboard
Net hours
0.00
Total heads
0
Labour work
£0.00
Materials (incl items)
£0.00
Items (Other/Discount)
£0.00
Extras (bonus±exp)
£0.00
Accrued (ex VAT)
£0.00
Paid
£0.00
Adj
£0.00
CIS deduction
£0.00
VAT
£0.00
Total incl VAT
£0.00
Net due
£0.00
🧠 Smart Rules
Критичные ошибки / предупреждения.
Audit log
| Date | INV | Mode | Accrued | Paid | Net due |
|---|
Совет: делай JSON backup раз в неделю.
⚙️ Company Settings (used for Print Invoice)
Если оставить пустым — будет текстовый заголовок.
👷 Workers Directory
Имя → default trade/rate → CIS status (для заметок). Один worker в строке → может авто-подставить rate/trade.
| Name | Default trade | Mode | Rate | CIS status | Notes | ✖ |
|---|
💷 Pay per worker exact (line split)
Выбираешь строку (labour line) → список workers → вводишь суммы. Система сверяет сумму до пенни.
—
Diff: £0.00
| Worker | Amount £ | Note |
|---|
⛔ Калькулятор не смог стартовать (ошибка)
Скопируй текст ниже и пришли мне — я починю за 1 шаг.