Lui's Toolbox
A collection of browser-based utilities — no data sent anywhere
Available
AIO Tool
Payout Generator · IP Deduction · Payout Auditor · Email Matcher · Container Trip Updater
WA Media Downloader
Bulk download documents & media from WhatsApp Web chats
TB AutoReply
Office hours & leave auto-reply extension for Thunderbird
ToolBox Explorer
Portable Windows file explorer with filename & file content search
IBAN Checker
Validate UAE & international IBANs — ISO 13616 checksum
Changelog
Version History
Version 2.3.1 — IP Deduction: export cleanup, per-container notes
Version 2.3 — EML to PDF added; uniform export buttons; Insurance Paid-based deduction logic
Version 2.2.4 — Payout Auditor: International Gen rows + terminated containers
Version 2.2.3 — Email Matcher: phone number export
Version 2.2.2 — Email Matcher: EID/Passport number export
Version 2.2.1 — Payout Auditor: IBAN validation fix
Version 2.2 — TB AutoReply updated to v1.2.0 (early access); site-wide cleanup
Version 2.1 — ToolBox Explorer + TB AutoReply added
Version 2.0.22 — Notes consolidated into one file
Version 2.0.21 — Deduction carryover key matching fix
Version 2.0.20 — Shared container additions
Version 2.0.19 — Payout Schedule: no-contract-number grouping fix
Version 2.0.18 — Payout Generator Notes: Y2/Y3 labels actually wired in
Version 2.0.17 — Email Sheet upload removed
Version 2.0.16 — Deduction notes show year + type breakdown
Version 2.0.15 — Termination no longer fully skipped
Version 2.0.14 — Payout Generator export column cleanup
Version 2.0.13 — Skip terminated/settlement containers
Version 2.0.12 — Email Matcher agent email resolution
Version 2.0.11 — Deduction split fix, quarterly/yearly overrides
Version 2.0.10 — Reroute anniversary fix, audit grouping
Version 2.0.9 — Payout Schedule pre-reroute history
Version 2.0.8 — Payout & IP Deduction logic fixes
Version 2.0.7 — Payout Schedule tool added
Version 2.0.6 — Client Organizer added
Version 2.0.5 — Container Trip Updater added
Version 2.0.4 — Email Matcher rewrite + AIO Tool layout overhaul
Version 2.0.3 — Payout Auditor + Generator fixes
Version 2.0.2 — Payout Generator insurance fix
Version 2.0.1 — WA Media Downloader v1.2 fix
Version 2.0 — AIO Tool + Liquid Glass UI
Version 1.6.8 — WA Media Downloader Extension Added!
Version 1.6.7 — Email Matcher improvements
Version 1.6.6 — Toolbox cleanup & Email Matcher rebuilt
Version 1.6.5 — Client Data Entry added!
Version 1.6.4 — UI Improvements
Version 1.6.3 — IBAN Checker improvements
Version 1.6.2 — Payout Generator improvements
Version 1.6.1 — Payout Generator improvements
Version 1.6 — Payout Generator improvements
Version 1.5 — Updated IP Deduction Tool improvements
Version 1.4 — Payout Generator added
Version 1.3 — IP Deduction Tool added
Version 1.2 — Email Matcher tool added
Version 1.1 — IBAN Checker updated
Version 1.0 — IBAN Checker (UAE banks database only)
• IBAN and Account Number columns removed from the export — no longer needed there
• Units column now counts containers that actually have a deduction this cycle, not the client's total container count
• Notes now show the per-container deduction amount instead of a combined total — e.g. 3 containers at 1,500 AED each now shows "1,500AED each for IP | ...", not "4,500AED total deduction for IP | ..."; containers under the same label only share a line if their per-container amount also matches
• Units column now counts containers that actually have a deduction this cycle, not the client's total container count
• Notes now show the per-container deduction amount instead of a combined total — e.g. 3 containers at 1,500 AED each now shows "1,500AED each for IP | ...", not "4,500AED total deduction for IP | ..."; containers under the same label only share a line if their per-container amount also matches
Version 2.3 — EML to PDF added; uniform export buttons; Insurance Paid-based deduction logic
• New "EML to PDF" tool inside AIO Tool (between Client Organizer and Trip Updater) — parses .eml files and renders each as a PDF using the real LMC letterhead, with a client-name field per email and batch ZIP download
• Payout Auditor's "Download audit file" button moved out of the action card into the results header as "↓ Export to Excel" — now matches the same placement and label used by Payout Generator, IP Deduction, Email Matcher, and Client Organizer
• Insurance "years already covered" detection (from the Insurance Paid column) now scales to the client's actual insurance rate — 20ft/40ft/specialty container pricing and the Jun 30, 2026 price change — instead of one fixed set of thresholds for everyone; applies to Payout Generator, IP Deduction, and Payout Auditor
• Payout Schedule: Insurance Premium field now shows the container-multiplied total immediately on autofill, matching how Monthly Rent already works
• Payout Schedule: rerouted clients now read the Insurance Paid column directly to decide which insurance year(s) are still owed, instead of estimating from elapsed months
• Payout Schedule: if Year 1 insurance was never paid, it now correctly shows as a deduction on the client's true original Trip 1/first payout date — previously it was being folded into the post-restart anniversary schedule along with Y2/Y3, producing three deductions instead of the correct number
• Payout Auditor's "Download audit file" button moved out of the action card into the results header as "↓ Export to Excel" — now matches the same placement and label used by Payout Generator, IP Deduction, Email Matcher, and Client Organizer
• Insurance "years already covered" detection (from the Insurance Paid column) now scales to the client's actual insurance rate — 20ft/40ft/specialty container pricing and the Jun 30, 2026 price change — instead of one fixed set of thresholds for everyone; applies to Payout Generator, IP Deduction, and Payout Auditor
• Payout Schedule: Insurance Premium field now shows the container-multiplied total immediately on autofill, matching how Monthly Rent already works
• Payout Schedule: rerouted clients now read the Insurance Paid column directly to decide which insurance year(s) are still owed, instead of estimating from elapsed months
• Payout Schedule: if Year 1 insurance was never paid, it now correctly shows as a deduction on the client's true original Trip 1/first payout date — previously it was being folded into the post-restart anniversary schedule along with Y2/Y3, producing three deductions instead of the correct number
Version 2.2.4 — Payout Auditor: International Gen rows + terminated containers
• Gen workbook is now read across all its sheets (Local + International), not just the first one — International Gen clients were being silently skipped, showing up as false "missing client" gaps against the Accounts list
• Terminated container rows are now excluded from Payment Info rental totals during audit, matching the same exclusion already used by the Payout Generator
• Terminated container rows are now excluded from Payment Info rental totals during audit, matching the same exclusion already used by the Payout Generator
Version 2.2.3 — Email Matcher: phone number export
• Added PHONE NUMBER to the Email Matcher's exported output (from the Email Sheet), placed before EMAIL 1
Version 2.2.2 — Email Matcher: EID/Passport number export
• Added EID/PASSPORT NO. to the Email Matcher's exported output and preview table
Version 2.2.1 — Payout Auditor: IBAN validation fix
• IBAN field is now validated against a real IBAN format before being used as a grouping key — previously, US routing-number text in that field (e.g. "Routing No: 021000021") was treated as a unique identifier, causing different clients who share the same routing number to be incorrectly merged together during audit
Version 2.2 — TB AutoReply updated to v1.2.0 (early access); site-wide cleanup
• TB AutoReply: Office Hours message is now per-account instead of one shared message for every enrolled account
• TB AutoReply: auto-appends each account's own Thunderbird signature to its message
• TB AutoReply: dedicated "Off" toggle per day — a true off switch, separate from the closed-all-day setting
• TB AutoReply: send delay before an auto-reply actually goes out — one global setting, adjustable in Settings
• TB AutoReply: toolbar shortcut buttons (Compose window + main Thunderbird window) that open Settings directly
• TB AutoReply: tabs reordered to Office Hours, On Leave, Other Tools, Settings
• ATN store listing remains v1.0.0, pending review — this is a newer early-access build, install manually
• Ko-fi support + social links (Instagram/Threads/X @renzluigi09) added as their own card on WA Media Downloader, ToolBox Explorer, and TB AutoReply's pages, plus inside the extension's "Other Tools" tab
• Removed duplicate Support/Ko-fi and GitHub links (nav, footer, hero) across all three tool pages — one clear link per purpose now
• ToolBox Explorer page expanded with content from the app's README ("Why this exists", .xlsm support, indexing behavior, index storage location)
• Card spacing standardized to a consistent 1rem rhythm (matching the AIO Tool) across all three pages and the extension's Other Tools tab
• TB AutoReply: auto-appends each account's own Thunderbird signature to its message
• TB AutoReply: dedicated "Off" toggle per day — a true off switch, separate from the closed-all-day setting
• TB AutoReply: send delay before an auto-reply actually goes out — one global setting, adjustable in Settings
• TB AutoReply: toolbar shortcut buttons (Compose window + main Thunderbird window) that open Settings directly
• TB AutoReply: tabs reordered to Office Hours, On Leave, Other Tools, Settings
• ATN store listing remains v1.0.0, pending review — this is a newer early-access build, install manually
• Ko-fi support + social links (Instagram/Threads/X @renzluigi09) added as their own card on WA Media Downloader, ToolBox Explorer, and TB AutoReply's pages, plus inside the extension's "Other Tools" tab
• Removed duplicate Support/Ko-fi and GitHub links (nav, footer, hero) across all three tool pages — one clear link per purpose now
• ToolBox Explorer page expanded with content from the app's README ("Why this exists", .xlsm support, indexing behavior, index storage location)
• Card spacing standardized to a consistent 1rem rhythm (matching the AIO Tool) across all three pages and the extension's Other Tools tab
Version 2.1 — ToolBox Explorer + TB AutoReply added
• New standalone Windows app — portable file explorer with filename + file content search (.xlsx, .docx, .pdf)
• Details view browsing, grouped by date modified, sortable, with a folder tree (Desktop, Downloads, Documents, Pictures, Music, Videos, This PC)
• File operations (copy, move, rename, delete) via right-click or keyboard shortcuts
• Single portable .exe — no installer, no registry changes
• New page for TB AutoReply (v1.1.0) — Thunderbird extension for Office Hours & On Leave auto-replies
• TB AutoReply currently early access — pending review on Thunderbird Add-ons (ATN), .xpi available for manual install
• ToolBox Explorer footer updated with a Ko-fi support link, matching other tool pages
• Details view browsing, grouped by date modified, sortable, with a folder tree (Desktop, Downloads, Documents, Pictures, Music, Videos, This PC)
• File operations (copy, move, rename, delete) via right-click or keyboard shortcuts
• Single portable .exe — no installer, no registry changes
• New page for TB AutoReply (v1.1.0) — Thunderbird extension for Office Hours & On Leave auto-replies
• TB AutoReply currently early access — pending review on Thunderbird Add-ons (ATN), .xpi available for manual install
• ToolBox Explorer footer updated with a Ko-fi support link, matching other tool pages
Version 2.0.22 — Notes consolidated into one file
• All static note/flag text (app.js, shared.js, payout.js) moved into a new notes.js — wording unchanged, just centralized so future edits happen in one place
• notes.js loaded before shared.js in aio-tool.html
• notes.js loaded before shared.js in aio-tool.html
Version 2.0.21 — Deduction carryover key matching fix
• Reading a reference file back in now uses the same strict IBAN validation as generation — IBAN if it passes the format check, else Account No., else Client Name
• Previously the carryover reader always preferred IBAN even if invalid, which could silently miss a match when generation had fallen back to Account No.
• Previously the carryover reader always preferred IBAN even if invalid, which could silently miss a match when generation had fallen back to Account No.
Version 2.0.20 — Shared container additions
• Added 3 newly identified shared containers to the hardcoded split map: LGMU2278332, LGMU2288768, LGMU2288789
Version 2.0.19 — Payout Schedule: no-contract-number grouping fix
• Clients with no contract number ("No Number") are now grouped by name + rental amount instead of name + container — same name and same rent merges all containers into one contract; different rent for the same name stays separate
• Previously each container for a no-number client became its own group, splitting one client into several duplicate entries
• Post-reroute schedule rows no longer repeat container numbers already shown in the pre-reroute section — was only blanking the first row, now blanks all of them
• Previously each container for a no-number client became its own group, splitting one client into several duplicate entries
• Post-reroute schedule rows no longer repeat container numbers already shown in the pre-reroute section — was only blanking the first row, now blanks all of them
Version 2.0.18 — Payout Generator Notes: Y2/Y3 labels actually wired in
• v2.0.16 added Y2/Y3-aware deduction labels to shared.js but never actually connected them to the Payout Generator's own Notes column — it was still building its own flat "IP"/"HC" labels independently
• Payout Generator now reuses the same year-aware label data shared.js already builds, so its Notes match the IP Deduction tool
• Consolidated deduction lines now show the per-container amount instead of a combined total — containers only share a line if they match on both label and amount
• Added a space between the amount and "AED" throughout the Payout Generator's deduction/split notes
• Payout Generator now reuses the same year-aware label data shared.js already builds, so its Notes match the IP Deduction tool
• Consolidated deduction lines now show the per-container amount instead of a combined total — containers only share a line if they match on both label and amount
• Added a space between the amount and "AED" throughout the Payout Generator's deduction/split notes
Version 2.0.17 — Email Sheet upload removed
• Removed the optional "Email Sheet" upload card from Payout Generator and IP Deduction — client name/email/mobile/nationality/EID matching now lives only in Email Matcher
• Export columns CLIENT NAME (EMAIL SHEET), EMAIL 1, EMAIL 2, MOBILE, NATIONALITY, EID/PASSPORT/NATIONAL CARD removed from both exports
• Payout Schedule's own email upload (for autofilling a client's email on the PDF) is unaffected
• Export columns CLIENT NAME (EMAIL SHEET), EMAIL 1, EMAIL 2, MOBILE, NATIONALITY, EID/PASSPORT/NATIONAL CARD removed from both exports
• Payout Schedule's own email upload (for autofilling a client's email on the PDF) is unaffected
Version 2.0.16 — Deduction notes show year + type breakdown
• Deduction notes now specify which year triggered — Y1 stays plain "IP" (Y1 is always insurance-only), Y2/Y3 show as "Y2 IP", "Y3 HC", "Y2 IP & HC", etc.
• Grouped per container so multi-container clients get a clear line-by-line breakdown instead of one merged total
• Applies wherever shared.js's deduction engine runs: Payout Generator, IP Deduction, Payout Auditor, and Payout Schedule (all inside the AIO tool)
• Grouped per container so multi-container clients get a clear line-by-line breakdown instead of one merged total
• Applies wherever shared.js's deduction engine runs: Payout Generator, IP Deduction, Payout Auditor, and Payout Schedule (all inside the AIO tool)
Version 2.0.15 — Termination no longer fully skipped
• Containers marked "Termination" (For Settlement column) now stay visible instead of being dropped entirely
• Excluded from Monthly Rent / Deduction / Addition / Rental Due totals
• If a client's containers are all marked Termination, that row shows blank totals with a flag
• If only some are, the row shows totals for the remaining active container(s) only, with a flag noting how many were excluded
• Contract Closed (existing logic) is unchanged — still a full skip
• Excluded from Monthly Rent / Deduction / Addition / Rental Due totals
• If a client's containers are all marked Termination, that row shows blank totals with a flag
• If only some are, the row shows totals for the remaining active container(s) only, with a flag noting how many were excluded
• Contract Closed (existing logic) is unchanged — still a full skip
Version 2.0.14 — Payout Generator export column cleanup
• DEDUCTION REMAINING moved to sit between AGENT NAME and NOTES in the export
• TOTAL COST column removed from the export output
• TOTAL COST column removed from the export output
Version 2.0.13 — Skip terminated/settlement containers
• Payment Info Sheet column BA ("For Settlement") now checked during parsing — rows marked "Termination" are dropped before rental/deduction calc
• Applies to every tool sharing app.js's parsePaymentSheet(): Payout Generator, IP Deduction, Payout Auditor, and Payout Schedule (all inside the AIO tool)
• Legacy standalone payout-generator.html was not touched
• Applies to every tool sharing app.js's parsePaymentSheet(): Payout Generator, IP Deduction, Payout Auditor, and Payout Schedule (all inside the AIO tool)
• Legacy standalone payout-generator.html was not touched
Version 2.0.12 — Email Matcher agent email resolution
• Added a 3rd upload box (Payment Info Sheet) — parses client name + agent name (col AL) to resolve AGENT EMAIL via the hardcoded map, with a default fallback
• New AGENT EMAIL column added to output table and export
• checkReady() now requires all 3 files before Generate is enabled
• New AGENT EMAIL column added to output table and export
• checkReady() now requires all 3 files before Generate is enabled
Version 2.0.11 — Deduction split fix, quarterly/yearly overrides
• Fixed a bug where a deduction larger than a client's monthly rent produced a negative Rental Due — deduction is now capped at that cycle's rent per container, and Rental Due never goes below 0
• Uncollected deduction carries forward automatically via a new DEDUCTION REMAINING export column — re-uploading that export as next cycle's reference file continues collecting it until fully paid
• Notes now show which container a split deduction belongs to, with an installment count (e.g. "1,800AED deducted for IP -LGMU2245175 (1/2) — 700AED remaining, continue next cycle"), and confirm once fully collected — no more installment count for already-settled deductions
• 19 specific containers with broken restart-date data hardcoded to compute as quarterly, starting Oct 2026 (pending final confirmation from Accounts)
• 4 specific containers hardcoded with a "yearly payout, start date not yet confirmed" note — flagged only, no computation change
• Deduction notes consolidated further — one total per type (IP / HC / IP & HC) with a container list, instead of one line per container
• Uncollected deduction carries forward automatically via a new DEDUCTION REMAINING export column — re-uploading that export as next cycle's reference file continues collecting it until fully paid
• Notes now show which container a split deduction belongs to, with an installment count (e.g. "1,800AED deducted for IP -LGMU2245175 (1/2) — 700AED remaining, continue next cycle"), and confirm once fully collected — no more installment count for already-settled deductions
• 19 specific containers with broken restart-date data hardcoded to compute as quarterly, starting Oct 2026 (pending final confirmation from Accounts)
• 4 specific containers hardcoded with a "yearly payout, start date not yet confirmed" note — flagged only, no computation change
• Deduction notes consolidated further — one total per type (IP / HC / IP & HC) with a container list, instead of one line per container
Version 2.0.10 — Reroute anniversary fix, audit grouping
• Fixed a bug in the reroute anniversary formula where months-paid being an exact multiple of 12 (0, 12, 24) computed a full year late — affected roughly 783 of 4,303 rerouted contracts
• Deduction notes changed to match Accounts' own style, grouped by container
• Payout Auditor: fixed isPaid() incorrectly matching "paid" anywhere in a note instead of only as the field's leading status
• Payout Auditor: switched to IBAN-first grouping (falls back to account number, then name) — matches how the Payout Generator itself groups payees, fixing false "missing client" diffs for shared bank accounts
• Payout Auditor: border styling fixed on highlighted diff cells
• Deduction notes changed to match Accounts' own style, grouped by container
• Payout Auditor: fixed isPaid() incorrectly matching "paid" anywhere in a note instead of only as the field's leading status
• Payout Auditor: switched to IBAN-first grouping (falls back to account number, then name) — matches how the Payout Generator itself groups payees, fixing false "missing client" diffs for shared bank accounts
• Payout Auditor: border styling fixed on highlighted diff cells
Version 2.0.9 — Payout Schedule pre-reroute history
• Payout Schedule: added a Pre-Reroute History section for rerouted clients — toggle checkbox, auto-computed "Payouts Made Before Reroute," and a gap note, so the PDF schedule can show the client's complete history from the very beginning
• Payout Schedule: fixed buildReroutedRows() — it had its own separate, older deduction-date logic that didn't match shared.js's reroute formula; now uses the same engine so the PDF always matches what the Payout Generator actually deducts
• Payout Schedule: fixed buildReroutedRows() — it had its own separate, older deduction-date logic that didn't match shared.js's reroute formula; now uses the same engine so the PDF always matches what the Payout Generator actually deducts
Version 2.0.8 — Payout & IP Deduction logic fixes
• Quarterly/Yearly frequency clients now appear every cycle at the base monthly rental — no more due-month filtering, no ×3/×12 multiplier — flagged with a "verify rental amount with accounts" note instead
• Fixed a bug where a blank/missing "Client Name" header in the payment info sheet could silently zero out the entire sheet (0 rows loaded) — column now falls back to its known position if the header text isn't found
• HC deduction now applied in the same cycle as IP, matching how accounts now processes it — removed the "HC pending next cycle" deferral and note entirely (affects both Payout Generator and IP Deduction tool, which share the same deduction engine)
• Fixed a bug where a blank/missing "Client Name" header in the payment info sheet could silently zero out the entire sheet (0 rows loaded) — column now falls back to its known position if the header text isn't found
• HC deduction now applied in the same cycle as IP, matching how accounts now processes it — removed the "HC pending next cycle" deferral and note entirely (affects both Payout Generator and IP Deduction tool, which share the same deduction engine)
Version 2.0.7 — Payout Schedule tool added
• New "Payout Schedule" tab — generates a full multi-year payout schedule PDF for one client/contract at a time
• Searchable client dropdown (by name or email); clients with multiple contracts show a contract picker before the schedule form
• Rerouted vs non-rerouted detection: Payout Restart Date + Revised Rental Income [LMC] vs First Payout Date + Return amount
• Non-rerouted schedules use Year 1/2/3 blocks (trip-count based); rerouted schedules use a straight Trip No. column with deduction timing tied to the original contract's calendar anniversary — same logic as the main IP Deduction tool
• Insurance Premium auto-fills from container size/date rules (editable); Health Check is manual entry, Year 2 & 3 only
• Deductions that would push Monthly Payment negative auto-split across consecutive months
• Monthly rent auto-multiplies by container count per contract
• PDF output uses the real LMC letterhead file as its background template
• Email Sheet upload required before generating
• Output filename includes both client name and contract number
• Searchable client dropdown (by name or email); clients with multiple contracts show a contract picker before the schedule form
• Rerouted vs non-rerouted detection: Payout Restart Date + Revised Rental Income [LMC] vs First Payout Date + Return amount
• Non-rerouted schedules use Year 1/2/3 blocks (trip-count based); rerouted schedules use a straight Trip No. column with deduction timing tied to the original contract's calendar anniversary — same logic as the main IP Deduction tool
• Insurance Premium auto-fills from container size/date rules (editable); Health Check is manual entry, Year 2 & 3 only
• Deductions that would push Monthly Payment negative auto-split across consecutive months
• Monthly rent auto-multiplies by container count per contract
• PDF output uses the real LMC letterhead file as its background template
• Email Sheet upload required before generating
• Output filename includes both client name and contract number
Version 2.0.6 — Client Organizer added
• New "Client Organizer" tab — upload a ZIP of unsorted client PDFs, tool reads and classifies them (contract, lease form, LMC invoice, Liberty invoice), groups by client, outputs a sorted ZIP with one folder per client
• Contract is the anchor: extracts client name, container type, and contract number (e.g. CONAY2227) to match invoices
• Lease form auto-split from the contract PDF into its own file
• Unmatched/unreadable files go to an _UNMATCHED/ folder with a note explaining why
• Contract is the anchor: extracts client name, container type, and contract number (e.g. CONAY2227) to match invoices
• Lease form auto-split from the contract PDF into its own file
• Unmatched/unreadable files go to an _UNMATCHED/ folder with a note explaining why
Version 2.0.5 — Container Trip Updater added
• New "Container Trip Updater" tab — finds which containers need updating in CRM by date
• Own upload cards (Container Trips + Trips Sheet), separate from the shared Payment Info Sheet used by other tabs
• Calendar-based date selection to find containers due on a given day
• Results shown as individual cards, one per container, each with a dismissible ✕ button
• Header count updates live as cards are dismissed; results section auto-hides once all cards are cleared
• Own upload cards (Container Trips + Trips Sheet), separate from the shared Payment Info Sheet used by other tabs
• Calendar-based date selection to find containers due on a given day
• Results shown as individual cards, one per container, each with a dismissible ✕ button
• Header count updates live as cards are dismissed; results section auto-hides once all cards are cleared
Version 2.0.4 — Email Matcher rewrite + AIO Tool layout overhaul
• Email Matcher rebuilt as a standalone, generic tool — works with any Excel file as long as it has a CLIENT NAME column, no longer tied to a specific cycle or sheet structure
• Safety gate: Email Matcher blocks processing if no CLIENT NAME header is found in the uploaded file
• Multi-tab files auto-detected — first tab processed by default, with the option to include other matching tabs
• Email Matcher output simplified to: Client Type, Client Name, Client Name (Email Sheet), Nationality, Deduction, Email 1, Email 2 — all caps headers, unmatched fields left blank for manual review
• Output filename now includes the exact time of generation to prevent overwritten duplicates (e.g. EMAIL_MATCHER_20JUN2026_143052.xlsx)
• Payout Generator, IP Deduction, and Payout Auditor upload zones condensed into a single row layout — less scrolling, more compact
• Cycle settings (Month, Cycle, Year) moved into their own dedicated card, separate from file uploads
• Generate / Run Audit buttons now use a consistent full-width style across all AIO Tool tabs
• Fixed a bug where the main upload row could disappear after visiting Payout Auditor and switching back
• Fixed a bug where the Generate button row could vanish when browsing between tabs
• Card entrance animations simplified and synced across all tabs — lighter on CPU, no more staggered delays
• Safety gate: Email Matcher blocks processing if no CLIENT NAME header is found in the uploaded file
• Multi-tab files auto-detected — first tab processed by default, with the option to include other matching tabs
• Email Matcher output simplified to: Client Type, Client Name, Client Name (Email Sheet), Nationality, Deduction, Email 1, Email 2 — all caps headers, unmatched fields left blank for manual review
• Output filename now includes the exact time of generation to prevent overwritten duplicates (e.g. EMAIL_MATCHER_20JUN2026_143052.xlsx)
• Payout Generator, IP Deduction, and Payout Auditor upload zones condensed into a single row layout — less scrolling, more compact
• Cycle settings (Month, Cycle, Year) moved into their own dedicated card, separate from file uploads
• Generate / Run Audit buttons now use a consistent full-width style across all AIO Tool tabs
• Fixed a bug where the main upload row could disappear after visiting Payout Auditor and switching back
• Fixed a bug where the Generate button row could vanish when browsing between tabs
• Card entrance animations simplified and synced across all tabs — lighter on CPU, no more staggered delays
Version 2.0.3 — Payout Auditor + Generator fixes
• Payout Auditor added as a new tab in AIO Tool — compares generated payout against accounts list with no recompute
• Audit aggregates both sides per payee before comparing — eliminates false rent diffs from multi-container clients
• Audit filename now includes cycle day (e.g. PAYOUT_AUDIT_15_JUN2026.xlsx vs PAYOUT_AUDIT_30_JUN2026.xlsx)
• Account No / IBAN precision-type diffs (Excel 15-digit rounding) suppressed — only materially different numbers flagged
• Generator fix: pinFilledDown rows now excluded from payout run — prevents wrong-cycle containers from leaking into output
• Generator fix: shared-container clients with no container number in main sheet now correctly included via name lookup
• UI: hover animation removed from Liquid Glass cards and tabs for better performance
• UI: glass transparency increased, blur radius lowered for faster rendering
• CSS: aio-tool.css cleaned up — duplicate tokens removed, global.css is now the single source
• Audit aggregates both sides per payee before comparing — eliminates false rent diffs from multi-container clients
• Audit filename now includes cycle day (e.g. PAYOUT_AUDIT_15_JUN2026.xlsx vs PAYOUT_AUDIT_30_JUN2026.xlsx)
• Account No / IBAN precision-type diffs (Excel 15-digit rounding) suppressed — only materially different numbers flagged
• Generator fix: pinFilledDown rows now excluded from payout run — prevents wrong-cycle containers from leaking into output
• Generator fix: shared-container clients with no container number in main sheet now correctly included via name lookup
• UI: hover animation removed from Liquid Glass cards and tabs for better performance
• UI: glass transparency increased, blur radius lowered for faster rendering
• CSS: aio-tool.css cleaned up — duplicate tokens removed, global.css is now the single source
Version 2.0.2 — Payout Generator insurance fix
• Insurance deduction now counts from the Payout Restart Date for rerouted & never-paid containers — not the original first payout date
• Size-based insurance (20ft 1,500 / 40ft 1,800 / specialty 2,600) now applies only to non-rerouted clients with first payout on/after 30 Jun 2026
• Rerouted clients stay on the flat 1,500 regardless of their restart date
• Size-based insurance (20ft 1,500 / 40ft 1,800 / specialty 2,600) now applies only to non-rerouted clients with first payout on/after 30 Jun 2026
• Rerouted clients stay on the flat 1,500 regardless of their restart date
Version 2.0.1 — WA Media Downloader v1.2 fix
• Fixed documents downloading as ".unknown_file" — real filenames & extensions now read correctly
• Fixed broken downloads after a WhatsApp Web update changed the download button
• Docs now download reliably again — each file opens, downloads, and closes automatically
• Fixed broken downloads after a WhatsApp Web update changed the download button
• Docs now download reliably again — each file opens, downloads, and closes automatically
Version 2.0 — AIO Tool + Liquid Glass UI
• AIO Tool launched — Payout Generator, IP Deduction, Container Info, and Email Matcher are now consolidated into one tool
• Liquid Glass UI redesign — new dark glass aesthetic with animated background, frosted cards, and smooth animations
• Index page cleaned up — individual tools hidden, AIO Tool listed as primary
• WA Media Downloader and IBAN Checker remain as standalone tools
• Hidden tools still accessible via direct URL
• Liquid Glass UI redesign — new dark glass aesthetic with animated background, frosted cards, and smooth animations
• Index page cleaned up — individual tools hidden, AIO Tool listed as primary
• WA Media Downloader and IBAN Checker remain as standalone tools
• Hidden tools still accessible via direct URL
Version 1.6.8 — WA Media Downloader Extension Added!
Version 1.6.7 — Email Matcher improvements
• Added optional previous cycle upload (EMAIL_MATCH_) to help fill missing contact details
• Improved agent email handling for better accuracy
• Better note handling for easier review (including multiple agents and missing data)
• Better mobile cleanup (removes extra spaces)
• Improved row status logic for clearer warnings
• Updated stats to: Total, Confirmed, Client Error, Agent Error
• Rows with issues are still included, with clear notes for review
• Improved agent email handling for better accuracy
• Better note handling for easier review (including multiple agents and missing data)
• Better mobile cleanup (removes extra spaces)
• Improved row status logic for clearer warnings
• Updated stats to: Total, Confirmed, Client Error, Agent Error
• Rows with issues are still included, with clear notes for review
Version 1.6.6 — Toolbox cleanup & Email Matcher rebuilt
• Client Data Entry removed
• India Bank Checker removed
• Email Matcher fully rebuilt:
– Upload Payment Info Sheet + Email Sheet with cycle selector (Month, Cycle, Year)
– Clients grouped into one row per client — no more repeating names
– Units column shows total container count per client
– Matching by name + payment received date vs Welcome to LMC date (same month & year)
– Output: Client Name, Email 1, Email 2, Mobile, Agent Closing, Agent Email, Notes
– Export to Excel with cycle-based filename (e.g. EMAIL_MATCH_15_APRIL2026.xlsx)
– Stats: Total, Confirmed, Date Mismatch, No Match
– Fixed date parsing — removed unsafe fallback causing false mismatches
– Relaxed date matching to same month + year instead of exact day
– Fixed mobile layout — no more horizontal scroll or cut text
• India Bank Checker removed
• Email Matcher fully rebuilt:
– Upload Payment Info Sheet + Email Sheet with cycle selector (Month, Cycle, Year)
– Clients grouped into one row per client — no more repeating names
– Units column shows total container count per client
– Matching by name + payment received date vs Welcome to LMC date (same month & year)
– Output: Client Name, Email 1, Email 2, Mobile, Agent Closing, Agent Email, Notes
– Export to Excel with cycle-based filename (e.g. EMAIL_MATCH_15_APRIL2026.xlsx)
– Stats: Total, Confirmed, Date Mismatch, No Match
– Fixed date parsing — removed unsafe fallback causing false mismatches
– Relaxed date matching to same month + year instead of exact day
– Fixed mobile layout — no more horizontal scroll or cut text
Version 1.6.5 — Client Data Entry added!
Version 1.6.4 — UI Improvements
Version 1.6.3 — IBAN Checker improvements
• Bank database updated
• Jordan, Turkey and Pakistan added — 31/03/26
• Egypt, UK and Bulgaria added — 01/04/26
• Belgium, Lithuania and Spain added — 02/04/26
• Malta, Cyprus and Netherlands added — 03/04/26
• Jordan, Turkey and Pakistan added — 31/03/26
• Egypt, UK and Bulgaria added — 01/04/26
• Belgium, Lithuania and Spain added — 02/04/26
• Malta, Cyprus and Netherlands added — 03/04/26
Version 1.6.2 — Payout Generator improvements
• Balance amount pending now read from payment info sheet
• Shown in NOTES only when contract's first payout date matches current cycle
• Numeric value auto-extracted into ADDITION column
• RENTAL DUE left blank when balance note is present
• Shown in NOTES only when contract's first payout date matches current cycle
• Numeric value auto-extracted into ADDITION column
• RENTAL DUE left blank when balance note is present
Version 1.6.1 — Payout Generator improvements
• Top 5 results for the preview instead of 100
• Fixed clients having other than 50-50 split income and deduction
• Github connected
• Updating previous payout bug - fixing Duplicate Container Mismatch
• Fixed clients having other than 50-50 split income and deduction
• Github connected
• Updating previous payout bug - fixing Duplicate Container Mismatch
Version 1.6 — Payout Generator improvements
• Deductions now grouped by IBAN (falls back to account number if IBAN is invalid)
• Insurance deductions labelled as IP (Y1/Y2/Y3 IP)
• Y1 shown in notes only when alongside Y2 or Y3 — silent when alone
• Note amounts now always match deduction column
• First Payout Date shows only dates that triggered a deduction
• HC pending shown as "HC pending next cycle" — amount applied on next cycle
• Shared group flag only shown when a deduction was actually split
• Known container errors are silently skipped
• Insurance deductions labelled as IP (Y1/Y2/Y3 IP)
• Y1 shown in notes only when alongside Y2 or Y3 — silent when alone
• Note amounts now always match deduction column
• First Payout Date shows only dates that triggered a deduction
• HC pending shown as "HC pending next cycle" — amount applied on next cycle
• Shared group flag only shown when a deduction was actually split
• Known container errors are silently skipped
Version 1.5 — Updated IP Deduction Tool improvements
• Added return, deduction, and return after deduction calculation
• Improved Excel output format
• Improved Excel output format
Version 1.4 — Payout Generator added
Version 1.3 — IP Deduction Tool added
Version 1.2 — Email Matcher tool added
Version 1.1 — IBAN Checker updated
• All GCC banks added
• More international banks coming soon
• More international banks coming soon
Version 1.0 — IBAN Checker (UAE banks database only)