reports@revparpro.com: what lands but never gets parsed

Intake audit of the report_inbox pipeline, window 2026-06-16 to 2026-07-16 (30 days). Generated 2026-07-16.
Source of every count on this page: report_inbox table (Supabase, migration supabase/migrations/220_report_inbox.sql), queried via REST on 2026-07-16. Intake worker: workers/report-intake/src/index.js. Parser: scripts/process-report-inbox.mjs. File-content descriptions marked "inferred" come from the filename or standard PMS report naming, not from opening the file.
3,368
attachments received in the 30-day window
455
processed into tables (13.5%)
2,912
ignored: no parser exists (86.5%)
1
failed (one malformed OTB CSV, 2026-07-03)
The headline gap: CLLAL (Aloft College Station) is 100% unprocessed. Its front desk emails the full nightly FOSSE pack (about 14 PDFs per night from front.desk@aloftcollegestation.com), including the Manager's Report that carries the daily occupancy / ADR / RevPAR close. The intake worker cannot even assign a property code because FOSSE filenames like MSR.MGRRPT 07.15.26.pdf contain no code, so every file is logged as property "unknown" and ignored. CLLAL gets zero night-audit data from this pipeline.

What IS being processed today working

For context, the parser currently handles four report shapes (per scripts/process-report-inbox.mjs):

ReportPropertiesDestination tableRows processed (30d)
On-the-Books CSV (Marriott) and occupancy.xlsx (HotelKey)HOURP, HOUZN, HOUUSbooking_pace, plus preliminary night-audit days from the xlsx81
Detailed Flash CSV (Agilysys) and General Manager Report PDF (HotelKey)HOURP, HOUZN, CLLSBnight_audit_entries28
final-audit.xlsx (HotelKey audited close)HOUUSnight_audit_entries (final revision)346 combined
Trial Balance / Negative Posting / adjustment-activity (since 2026-07-08 hardening)HOURP, HOUZN, HOUUSadjustment_entries + adjustment_parse_runs

Row counts: report_inbox status='processed' grouped by report_type; the 346 covers final-audit and adjustments files, which are logged under report_type 'unknown'/'adjustments' when marked processed.

Gap 1: CLLAL, the entire nightly FOSSE pack nothing parsed

Sender front.desk@aloftcollegestation.com. All files below were ignored. Counts are files received in the 30-day window; typo variants of the same report (e.g. ar.aragng, gdtlgr, ips.aggtenrol) are folded into their parent row.

FileContents (inferred from FOSSE report code)Files (30d)
MSR.MGRRPT *.pdfManager's summary report: the daily flash with occupancy, ADR, RevPAR, revenue. The night-audit source this pipeline is missing for CLLAL.15
DTR *.pdfDaily transaction report15
DLYREV.pdfDaily revenue report15
FORECAST.pdfOccupancy forecast (forward pace)15
SLSMKTST.pdfSales by market segment16
AR.ARAGING summary / detail .pdfAccounts-receivable aging33
GSTLGR.pdfGuest ledger16
ADVDEPBAL.pdfAdvance deposit balances16
CCTRANS.pdfCredit card transactions16
INHSELST.pdfIn-house guest list16
GRPCMTRCP.pdf, OFSYSBAL.pdf, SSCD.pdf, MMRTVER.pdf, IPS.AGTENROL.pdfNot identified from the code alone (group commissions, off-system balances, and Marriott program reports are likely; unverified)80
Fix shape: the worker's property-code regexes (PROP_RE_DASH / PROP_RE_UNDERSCORE in workers/report-intake/src/index.js) need a sender-domain fallback (aloftcollegestation.com maps to CLLAL), then a pdftotext parser for MSR.MGRRPT, the same pattern already proven for CLLSB's GM Report PDF.

Gap 2: HOUUS (HotelKey), 11 report types ignored nightly partial

HotelKey re-sends the nightly pack several times, so counts run about 4 files per report per day. The occupancy.xlsx, final-audit.xlsx, and adjustment-activity.xlsx are parsed; everything below is not. Redundant PDF twins of parsed reports (occupancy.pdf etc., 16 each in July) are excluded here as deliberate noise.

Report (xlsx)Files Jul 1-16Files Jun 16-30
market-segment-summary6448
tax-report6448
direct-bill-aging6448
declined-payments6448
reservations / booked-reservations / cancelled-reservation-report192144
rate-report / rate-override12896
departures-list / in-house-guest-folio-balances12896

Gap 3: HOURP + HOUZN (Agilysys), 9-10 CSV types ignored nightly partial

Both SpringHills send the same daily CSV pack. Detailed Flash, On-the-Books, Trial Balance, and Negative Posting are parsed; the rest is not. Counts below are per property over the 30-day window (28 sends each unless noted).

Report (CSV)HOURP (30d)HOUZN (30d)
AR aging forecast summary / details5049
Tax exemptions2828
Rate variance2828
Reservation report2828
Cancellation / no-show2828
Guest in-house2828
Departures2828
Open balance2828
Credit card authorization2828

Trial Balance and Negative Posting show 19 ignored files each per property, all dated on or before 2026-07-07: that is the backlog from before the 2026-07-08 adjustments parser shipped, not an ongoing gap.

Gap 4: CLLSB (Staybridge), everything except the GM Report partial

CLLSB's General Manager Report PDF is parsed into night_audit_entries (9 processed in the window). The rest of its HotelKey pack is ignored, about 16 files per report Jul 1-16 plus 12 each Jun 16-30:

ReportFormatFiles (30d)
adjustment-activity (PDF only; CLLSB sends no xlsx twin, so the adjustments parser never fires for it)PDF28
direct-bill-agingPDF28
final-auditPDF28
all-transactions / arrivals / housekeeping-sheet / in-house-guest-folio-balancesXLSX112
no-show / authorized-payments / house-account-balances / room-count-summary / departures-list / maintenance-activityPDF168

Gap 5: one-offs worth knowing about

WhatFromWhenStatus
3x Weekly STAR xlsx (weeks of May 24, May 31, Jun 7; USD, E-live edition). Weekly STR competitive data that RPP's Upload STR ingest could consume.Syed.Ahmed@Hilton.com2026-06-19ignored
HOURP "One the Books - ACE" CSV, header row not found (a manually exported variant the parser could not read; the nightly automated OTB kept working)noreply@marriott.com2026-07-03failed
Two stray images (image.png; a screenshot)michael@springhillhouston.com; info@hiendmedia.comJul 2 / Jul 14ignored

What is worth parsing next, ranked

  1. CLLAL MSR.MGRRPT PDF into night_audit_entries. Only property emailing reports with zero data extracted; closes the night-audit hole. Same pdftotext pattern as the CLLSB GM Report parser. Requires the sender-domain property-code fallback first.
  2. AR / direct-bill aging (all five properties send one). AR aging is on the list of INNRLY features RPP lacks, and Innrly is banned as a source of record, so this inbox is the clean way to get it.
  3. Market segmentation (HOUUS market-segment-summary.xlsx, CLLAL SLSMKTST.pdf). Flash reports already have a segments concept; this is the nightly source for it.
  4. Tax reports (HOUUS tax-report.xlsx, HOURP/HOUZN tax exemptions CSV). Feeds occupancy-tax reconciliation against SIFT.
  5. CLLSB adjustment-activity PDF. CLLSB is the one property with no adjustments coverage because it sends the PDF only.
  6. Weekly STAR xlsx routing into the existing STR upload ingest. Data already arrives; low volume but high value if the sends continue.
  7. Rate variance / rate override reports. Front-desk rate discipline auditing; lower urgency.