Batch Update program fault / limitations

In summary there are 2 issues I’m aware of

  1. 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.

  2. 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.
10 Receipt initial summary

The first has an ambiguous date

The second an un-ambiguous date

The third has more than one line item

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.

Data appears as expected in LibreOffice Calc

Reference numbers added

Data selected to copy in LibreOffice Calc

Paste into Manger

Manager batch processing update items, Reference in green as added. Note no change to the second date is shown.
But the multi line receipt accounts and lines amount are flagged as being changed.

The summary of the receipts now shows the ambiguous date has been changed, now in October 2021.
27 Manager Batch update result summary

And the multiline transaction has lost all of it’s line data

1 Like

A work around for these bugs is

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
40 Date format not ambiguous

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.

Make required changes. Note if you need to do date calculations use DateValue

Similarly if you need to do calculation on numbers use Value() or NumberValue()

When your batch update contents are as you want them, delete the calculation fields or paste the values & formatting you want into a new page / spread sheet.
Then save that sheet as a CSV file

When saving you will be prompted for delimiters, choose field delimiter is tab
43 CVS option Field delimiter tab

In windows explorer go to the file you just saved and choose “Open with…” and choose Notepad or similar. Select all (ctrl-A), and copy it

Paste this back into Managers Batch update.
Note the reference numbers are there now and multiline transactions show as lots of lines on this screen

Choose next to see the a summary of the actual editing changes which will occur. In this case only the reference numbers are added (no other changes are made to multiline transactions)

The summary of receipts shows only the expected changes. Dates and totals are all correct. Confirmed by looking at history and only expected changes have occurred

2 Likes

A more concise way of reproducing Managers Batch update date bug is

  1. Create a new business

  2. Enable Receipts & Bank accounts tabs then create a bank account.

  3. Ensure the business has an ambiguous date format such as 31/12/2021 set in Settings → Date & Number Format

  4. Create a receipt with an ambiguous date such as 10/05/2021 and no Reference.

  5. Click on Receipts → Batch update

  6. Click copy to clipboard

  7. Paste the clipboard back into the text field in Manager without any change in an external program

  8. On the second line, after the date 10/05/2021 and below the “Reference” heading, type “1” or any other reference number.

  9. Click next

  10. The changes review screen will show the reference number added and the date unchanged

  11. Click on the “Batch update” button

  12. 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.

PS
Tested with Manager v21.5.29 on Windows Desktop

1 Like

A very good explanation, I have the same experience using Libreoffice. However, if you use google sheets, the crlf will not disappear.

  • set default date format in Manager
  • copy bulk to clipboard and paste in google sheets
  • set the format of all cells in google sheets to text
  • edit
  • copy and paste into manager
  • etc.

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.

The latest version (21.5.32) should be fixing the issue with the date.

2 Likes

Posted a bug report on LibreOffice Bugzilla 142561 – Editing: Enable unformated text copy of Calc cells containing line breaks

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

To argue against myself, the only thing I’m unsure about is the implications of Manager supporting an alternative calendar Possibility of BS (Bikram Sambat) calendar format