A user with a September-to-August fiscal year could not sign off 1930:
the dialog let them press Signera, the server refused, and the dialog
showed "Något gick fel. Försök igen."
Three defects, one flow:
- signOffAccount judged a bank account over the calendar year from
1 January (the getAccountStatus default) while the page the signer
looked at was scoped to the fiscal period. The sign-off now resolves
the fiscal period covering through_date and judges from its start,
for every caller (dashboard, v1, MCP, pending-operation executor).
- The dialog decided whether the "sign anyway" override was needed from
the page tile, which can be scoped to a narrower range. It now
previews the exact sign-off with dry_run on open and on every date
change, and NOT_RECONCILED carries the unexplained amount in
details so the warning can name it.
- The routes passed the refusal through getErrorMessage(), which did
not know the sign-off codes and replaced the Swedish text with its
generic fallback. The codes are now in the structured error registry
with a thrown_message_sv flag: the mapper passes the thrower's text
(dates, amounts) through verbatim and English users get message_en.
Claude-Session: https://claude.ai/code/session_01YDH3nqA8QtMA8WKTKZCMsA
Signed-off-by: Emil <emilmattsson14@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>