Add a setting, that when active prevents general journals posting, where the offset account is of type ledger and the sub ledger selected, is, in the financial calender, set to "none" for the financial period you are posting into, even if the rest of the financial period is open.
This prevents the customer subledger accidently being posted into, when on hold, by the write-off journal process, which creates a gerneal journal of this type. When this happens, it changes a customers balance in that financial period despite the sub ledger being placed on hold (set to none) and statements have been issued to that customer already.
This should be parameterised as different companies work in different ways, however this is currently affecting multiple customers we support.