# LATE_FEE_DECIMAL config verification and fix Date: 2026-07-22 ## Scope - Daily late-fee recalculation now rounds each charge detail late-fee item by `LATE_FEE_DECIMAL` before summing. - Accounting split adjustment write-back now allocates child `lateFee` by `LATE_FEE_DECIMAL` for both water-ratio split and fee-component split. - Unsold adjustment and split adjustment frontend forms no longer expose the inactive "calculate late fee" switch. Split water preview also no longer shows an always-empty child late-fee column. ## Non-scope - Payment, bank reconciliation, and list/detail display flows continue to use the stored `lateFee` amount and existing money display rules. - Unsold/open-bill/manual billing style flows that only set `lateFeeBeginDate` remain unchanged; they do not calculate late-fee amount in that path. ## Verification - `mvn -q -pl sw-business/sw-business-server -am -Dtest=LateFeeConfigResolverTest,LateFeeDailyCalculatorTest,LateFeeRecalculationServiceTest,LateFeeDateModeCalculatorTest,AccountingAdjustActionServiceImplTest test` passed. - `node --test src/views/accountProcess/unsoldAdjustment/components/UnsoldAdjustmentForm.contract.test.mjs src/views/accountProcess/unsoldAdjustment/components/SplitAdjustmentForm.contract.test.mjs` passed: 11/11. - `git diff --check` passed in `water-backend` and `water-frontend`. - `NODE_OPTIONS=--max-old-space-size=8192 pnpm ts:check --pretty false` still fails on existing project-wide TypeScript errors; the captured log had no errors for `UnsoldAdjustmentForm.vue` or `SplitAdjustmentForm.vue`.