Database corruption

@brfranco, now that you have more fully explained your problem, it turns out that it is related to one that was introduced in the other thread late in the discussion, after the issue that started that topic had been fixed. This illustrates why no one should divert topics with new issues—important responses get buried under incorrect subjects.

Here is what happened to you. Due to some revisions to underlying program code, your zeros were converted to blanks. Blank quantities are interpreted throughout the program as 1’s. (That is why, for example, you can leave the quantity on a sales invoice blank and enter a total amount as the unit price.) So, while you correctly entered a zero on a paysip line where there were no earnings, that unfortunately is now interpreted as a 1 because of the dropped digit. You did nothing wrong.

There are a couple ways to fix this:

  • You can scan through your employees’ registers (if you have a way to know which are incorrect) and manually insert zeros where the blanks are now. That will be quick if there are only a few payslips involved.

  • You could also do everything at once with a Batch Update. To do this, Copy to Clipboard and paste into a spreadsheet. I will illustrate with Excel, which allows you to autofit row height and column width. That will allow you to see everything in the cells. You want to look under the variable heading Earnings.Units. Any row within a cell that does not have a number, enter a zero. Below is an excerpt from such a spreadsheet that covers two payslips:



    Notice that the first row in the cell at the end of the arrow has no number to correspond with the earnings rate of 2000 in the next cell. But the second row in that cell has a zero, to correspond with the -100 rate next to it. This entry corresponds to a payslip that looks like this:

    Screen Shot 2021-03-09 at 6.35.30 PM

    No units is interpreted as 1, so the Amount shows as 2000. This is exactly what is happening to you. But the line below on the payslip, showing zero units of a reduction for absences, shows a zero Amount.

    Now, if I fill that spreadsheet cell with a zero, like this:

    Screen Shot 2021-03-09 at 6.38.10 PM

    and paste the spreadsheet back into the Batch Update window, the payslip is updated like this:

    Screen Shot 2021-03-09 at 6.39.10 PM

Both approaches accomplish the same thing. But the Batch Update would let you fix all your back payslips at once. All you have to do is look for missing zeros in one column of the spreadsheet. Of course, make sure you keep a backup before performing any batch operation.