Susan Gage Catering · bi-weekly payroll preparation
Pay period starts on a Monday and runs through the second Sunday. Select a pay period from the calendar or type it in. The system will flag it if the uploaded documents correspond to a different period.
Upload the ADP report — “Timecard Report - Nowsta” — and the “Susan Gage Catering Payroll File” from Nowsta first. Add the ADP contact list (ContactList.csv) as well — it is the record of truth for employee email addresses on the Tips tab.
Process EPI3Y702 and EPI3Y703 using the Event earnings tab and import them into ADP. Do the same with EPI3Y708 using the Overtime tab (if applicable).
Select the tips workbook from the shared folder.
Process any tips and create the EPI3Y705 using the Tips tab, to import into ADP.
Feeds the Tips and Event history tabs — event history, tips already paid and ADP numbers.
Calculate payroll in ADP and download the Earnings Statement Register File in CSV format. Upload the report here and use the Zero gross pay tab to download the CXL_AutoPay.csv. The CXL file is imported into ADP to delete every zero-gross employee from the payroll run.
CXL_AutoPay by hand. Every zero-gross employee left in the run is a per-employee charge by ADP.W2 sheet's columns I:P in EventOTCalculation — the grey block copied out as EPI3Y702 and the orange block as EPI3Y703. Same rule, read straight from the Nowsta file.EPI3Y708. If the regular job stayed under 40, only the event hours past the 40 mark are overtime. Either way the premium is half rate, because straight time for those hours is already going in through EPI3Y702.tblTips chain. Drop the signed tip sheets in, read the amount off the page, and the roster, the split and the cents are all handled here.The hours / position split is set from the supervisor tier on the event — 90 normally, 85 when a supervisor oversees 16 or more staff. State rules require 10% of the tip to be retained for tax, so payout stays at 90 unless the rate changes.
The amount is handwritten, so read it off the page and type it above — nothing here guesses at it. If the sheet does not display, use Open in a new tab.
The ADP number fills itself in from the workbook when the name is recognised.
tblDatabase current. The tips step reads the event history, so it has to include this period's shifts to square with paid invoices. This works out missing rows and preps the table's upload.PP10W2, PP10SE, PP10OT, PP10TPS).CXL_AutoPay.csv, import to ADP.tblDatabase with this period's shifts, so the tips step can find them when the invoices are paid.EPI3Y702.csv (hourly) and EPI3Y703.csv (salaried) and import both.EPI3Y708.csv. Keep the reconciliation file with the pay period papers.EPI3Y705.csv when the batch is complete.Each week of the period is tested on its own, per employee, against one 40-hour threshold that both jobs share. What changes is which department pays the premium.
EPI3Y708. But the employee was past 40 before the first event shift, so every event hour that week is overtime and every one of them is charged to events.EventOTCalculation workbook already handles.The premium is half rate — half the employee's weighted average event rate for that week, times the overtime hours. Straight time for those same hours is already going in through EPI3Y702, so only the extra half belongs in EPI3Y708.
On reading the timecard: rows coded OVERTIME, PTO and SICK carry zero in the Hours column, and REGULAR stops at exactly 40.00 per week. That turns out not to matter. When the regular hours are under 40 the reported figure is exact, and when they sit at 40 with overtime rows present the exact figure is irrelevant — every event hour is overtime either way. Paid leave is not hours worked, so it is left out of the test.
YYYYMMDD Name EventID.pdf convention matters.tblDatabase from the Tips workbook and drop it on the Overview tab.SPV, SPW, SP2) keeps the split at 90 / 10. Sixteen or more (SP3, SP4) moves it to 85 / 15, because a larger event is materially more coordination work. The tool reads the tier off the event's own position types and sets the split for you — it says which tier it found, and you can type over it.Type a new passphrase to get its hash, then replace the hash: line near the top of index.html on the server. The passphrase itself is never stored anywhere.
These files carry names, file numbers and partial Social Security numbers. Nothing here leaves your browser: the parsing, the maths and the CSV generation all run locally, and there is no server call anywhere in this page. Refreshing or closing the tab clears everything.