Hi,
Over my years of service (those beginning years were tough!), I have seen the trial balance actually out of balance. As all here have said, this is indeed a rare situation. Back in the day, it was a common occurrence.
It's easier to figure out now that the data is in SQL :)
Sometimes, the trial balance report erroneously included unit accounts and that caused it to 'appear' to be out of balance when it really wasn't.
Even if you had a P&L account marked as BS (or vice versa) that wouldn't throw the TB out of balance. A quick check is to run the following script against the GL30000 table:
SELECT gl30000.hstyear AS [Year]
, Sum(gl30000.debitamt - gl30000.crdtamnt) AS Net
FROM gl00100
INNER JOIN gl00105
ON gl00100.actindx = gl00105.actindx
INNER JOIN gl30000
ON gl00100.actindx = gl30000.actindx
GROUP BY gl00100.accttype
, gl30000.hstyear
HAVING ( gl00100.accttype = 1 )
AND Sum(gl30000.debitamt - gl30000.crdtamnt) <> 0
ORDER BY gl30000.hstyear
If you find a year out of balance using the above, run the following to find the journal entry:
SELECT gl30000.jrnentry AS JE_Number
, gl30000.hstyear AS [Year]
, gl30000.periodid AS Period
, Sum(gl30000.debitamt - gl30000.crdtamnt) AS Net
FROM gl00100
INNER JOIN gl00105
ON gl00100.actindx = gl00105.actindx
INNER JOIN gl30000
ON gl00100.actindx = gl30000.actindx
GROUP BY gl00100.accttype
, gl30000.jrnentry
, gl30000.hstyear
, gl30000.periodid
HAVING ( gl00100.accttype = 1 )
AND Sum(gl30000.debitamt - gl30000.crdtamnt) <> 0
ORDER BY hstyear, gl30000.jrnentry
Once you find the culprit, you can take corrective action.
Kind regards,
Leslie