A residual bug in Manager’s batch update when reading in ambiguous dates. Specifically day and month are swapped after user verification of import data changes in Manager.
A bug or at least an incompatibly with a high chance of user data corruptions occurs when copying batch update data containing transactions with multiple lines from LibreOffice Calc to Manager. Specifically the intra record line separator is lost invalidating most multi line data.
Tested with Manger v21.4.24 on Window Desktop 64 bit.
To illustrate the issues I created a test business with t receipts then added a Reference number via Batch update.
Doing a batch update of these receipts in Manger, when importing into LibreOffice Calc all fields were set to text so no format changes would occur in LibreOffice Calc (such as date format or trailing zeros). Separator options consistent with Managers export data.
This fixes the date corruption. Until Manager does this automatically for Bach update / create I strongly suggest prior to doing any Batch operations go to
Settings → Date & Number Format → Select a non ambiguous format such as
Then do the batch update as normal
Copy to clipboard
Paste into LibreOffice Calc
During data import select all columns by selecting the first, move the scroll bar to the end and shift-click. Then choose type text. This eliminates number (such as trailing zeros) and date format changes in LibreOffice Calc.
A more concise way of reproducing Managers Batch update date bug is
Create a new business
Enable Receipts & Bank accounts tabs then create a bank account.
Ensure the business has an ambiguous date format such as 31/12/2021 set in Settings → Date & Number Format
Create a receipt with an ambiguous date such as 10/05/2021 and no Reference.
Click on Receipts → Batch update
Click copy to clipboard
Paste the clipboard back into the text field in Manager without any change in an external program
On the second line, after the date 10/05/2021 and below the “Reference” heading, type “1” or any other reference number.
The changes review screen will show the reference number added and the date unchanged
Click on the “Batch update” button
The date has been changed to 5/10/2021 and shown in red as it is now a future not past date
Manager could fix this bug in one of two ways
When converting dates from text to the internal representation, preference the date settings in Manager. Please do not “fix it” that way.
When exporting data from Manager only allow non-ambiguous date formats either by hard coding a date format such as ISO or having a setting in “Settings → Date & Number Format” for “Data export Date format” which supports a variety of non-ambiguous date formats but no ambiguous formats.
The reason I strongly prefer the latter over the former is Batch update is designed for data processing in an external program. The second solution ensures reliable functionality in both Manager and the external program, the first option only addresses Managers internal consistency.
The other advantage of defaulting to an ISO format for Batch update is it allows users to sort by date even when the date is left as a text field in the external program.
Tested with Manager v21.5.29 on Windows Desktop
Thanks, @Patch, this was easy to replicate in v21.5.30 Ubuntu Server and macOSX Catalina. It corresponds with the serious problems we faced and spent lots of work on. We took your advice and set all dates to yyyy-mm-dd, ie ISO standard to avoid this happening again, Unfortunately, no one understands the new date format that well so we get complaints. Ultimately this is a serious bug and we hope that @lubos agrees and fixes it so we can rever to dd/mm/yyyyy in our case.
Indeed Manager is now internally consistent with date format during a batch update.
In addition to the above fix, it would be optimal in my opinion if during Batch update copy to clipboard (data export), Manager also used the same date format which Manager uses when backing up a business. The reasons:
It eliminates inconsistent date interpretation between applications
It is consistent with the fixed date format used elsewhere in Manager