Six payroll rules before 1 Sep
For Thet Mon Thein, General Manager. Open https://payroll-trm.com with no login. This page is the same six rules.
Source is Ma Myat Noe’s live workbook ST702 Payroll, Basic Staff, Jan 2026, period 17 Dec 2025 to 16 Jan 2026. Please mark each rule yes, no, or the real rule. Reply to Ko Htike. Architecture is due 1 Sep.
Please confirm
-
Cashier and butchery change rates on 1 Jan, inside the 17th–16th cycle.
Position 10,000 then 25,000. Attendance 25,000 then 40,000. Each half is 15 days
of a 30-day month. Nant May Thu (BS 0077) nets 384,000 this way.
Yes / No / Correct rule:
-
Any unpaid day forfeits attendance allowance for the whole period.
Hay Marn Oo (BS 0020) had 3 unpaid days. Excel paid no attendance.
Yes / No / Correct rule:
-
Unpaid deduction is daily basic (7,800) times unpaid days, not a slice of gross.
OT stays earned. Hay’s 3 days are 23,400 unpaid.
Yes / No / Correct rule:
-
Employee net has no SSB. 18% is TRM’s invoice to Makro. It does not print on the
staff slip. Hsu Myat Mon nets 371,300, equal to gross.
Yes / No / Correct rule:
-
Butchery allowance is a flat 5,000 or 10,000, even on a 2-day row.
Fruit, fish, and frozen still get a 10,000 position.
Yes / No / Correct rule:
-
Jan footer bills 18% on 13,173,500 (net minus OT) and 20% on 94,000.
Calc reads 94,000 as Kyaw Thiha Aung, BS 0069 QA/QC, after his PH OT.
Resigned basic-staff nets stay in the 18% base.
Yes / No / Correct rule:
Excel vs Calc. 49 rows from the Jan sheet
| ID | Name | Excel / Calc |
|---|---|---|
| BS 0010 | Hsu Myat Mon | 371,300.00 exact |
| BS 0015 | Kay Khine Oo | 292,133.33 vs 292,133.34 1 pyas allowed |
| BS 0077 | Nant May Thu | 384,000.00 cashier split exact |
| BS 0027 | May Thandar Hlaing | 410,800.00 exact |
| BS 0020 | Hay Marn Oo | 337,050.00 unpaid + attendance forfeit exact |
| BS 0064 | Aye Moe Pwint Phyu | 270,700.00 · 7.5 unpaid exact |
All 49 Basic Staff nets now match Calc within 1 pyas. Invoice grand total is 17,595,363.30 against Excel 17,595,363.33. Advance year footer is locked at 15,240.00. QA fails the period if Calc or Reports ships a number the other does not have.
Why the Feb Python engine cannot ship
Blocking, from the same Jan sheet:
- No OT. Hsu is 51,300 short before anything else is wrong.
- No 1 Jan cashier/butchery split. Nant May Thu would print 345,000.
- Still pays attendance after unpaid days.
- Unpaid taken from gross, which eats OT and allowances.
- Fake 195,000 resigned tier. Kay was paid 23/30 of 234,000.
- SSB 2% taken off employee net. The sheet does not do that.
- Calendar month, not 17th to 16th.
- Butchery treated as a prorated position. Excel pays it flat.
- Fruit/fish/frozen position set to 0 in YAML. Excel pays 10,000.
- models.py uses UniqueConstraint and never imports it. The app dies on boot.
- Validation employee BS 0892 is not on the ST702 list.
- No Calc vs Reports checksum.
Two stores, two payrolls
ST701 is Store 1. ST702 is Store 2. Makro basic and O2O on both stores run 17th to 16th. Store 1 part time and TRM office staff run a calendar month. Head Office cutoff is still unconfirmed. Do not mix the office bank file (10 people, 31 Jul, Thet Mon) with the Makro staff bank file (159 people, 30 Jul, Ma Myat Noe).
While these six answers are open, the six Excel rows already close to an 18% invoice and a bank CSV. Store 1 can reuse the same 17th–16th rules. Office payroll must not bill Makro 18%.
Still open after your answers
Fingerprint import from the 17 Jul–16 Aug .xlsb pack. Store 1 August Excel is still only in Gmail. TRM office July is still only in Gmail. Head Office cutoff is unconfirmed.