AB2

from pathlib import Path html = r""" London Payroll & Invoice ULTIMATE v2 (FIXED)

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: —

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 можно задать суммы на каждого человека.

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 выбирается ниже.

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

    DateINVModeAccruedPaidNet 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 шаг.
    
        
    """ out_path = Path("/mnt/data/london-ultimate-calculator-v2-fixed.html") out_path.write_text(html, encoding="utf-8") str(out_path)
    Scroll to Top