Skip to content
PROTOTYPE — MOCK DATAFigures are generated fixtures derived from the registry. Not ACF actuals.
Menu (13)

Appraisal — daily decision report

FAILING
Appraisal / Underwriting · production · 1 dataset
  1. 1. Template
  2. 2. Upload
  3. 3. Dry run
  4. 4. Confirm
  5. 5. Four-eyes
STEP 1 · THE TEMPLATE IS GENERATED FROM THE REGISTRY

Exact columns, types, enum domains, one example row, header locked, and the date and number columns preformatted as Text — because Excel turns 2026-09 into a date and 01.5 into 1 May, and it does it silently.

STEP 2 · UPLOAD
FN_close_2026-09.csv
18 kB · detected UTF-8 with BOM · cap 50 MB / 200,000 rows

Above 200,000 rows, use the API. Encoding is detected rather than assumed: a CP1258 file is rejected with a clear message rather than stored as Tỷ lệ.

THE TRAPS THIS DOOR IS BUILT AROUND
  • · Excel writes 01/09/2026. We refuse rather than guess between 1 Sep and 9 Jan.
  • · 1,5 is 1.5 in one locale and 15 in another. The template declares the locale; a mismatch is refused.
  • · Vietnamese diacritics: UTF-8 with or without BOM is fine, CP1258 is refused with a message rather than stored as mojibake.
  • · 400 trailing blank rows from Excel are trimmed and reported, so the row count still reconciles against the source.
  • · An identical re-upload is a no-op, not a restatement.