Early warning systems Clark Wilkins, Simplexable 2017.10.07

We've been expanding a set of early warning tools in an evolving project called "sweeper". The latest addition, internally referred to as "test 18", looks for situations where you're due to receive an exchange item, but it has not happened.

Sweeper is rapidly becoming a core part of the daily routine for administrators running INSIGHT because it's able to warn you of problems that used to require complex analysis at best — and more likely, just accidental discovery of issues.

The test suite is evolving rapidly since it was released in June 2017 (v16.122). As of today, we are in version 16.148 and this is the current suite of sweeper tests.

  1. Trial balance, reported year-by-year to bracket any issues
  2. Internal cleanup to remove unused invoice numbers
  3. Check for funds that have not been deposited into cash accounts yet
  4. Check for remaining balances in the offsets and adjustments account
  5. Check for invoices remaining on jobs that have been reclassified as non-billable
  6. Check for jobs that appear to be completed, are billable, but have no invoice created yet
  7. Check for jobs with no open tickets and yet no ticket on the job appears to complete the work
  8. Check for duplicated expense numbers and correct them as needed
  9. Check for invoices created, but marked as pending (not posting yet)
  10. Check the accounting (and automatically repair common issues) on expenses
  11. Remove abandoned reminders linked to items that no longer exist
  12. Remove abandoned invoices and credit memos linked to jobs that have been removed
  13. Find and repair inventory accounting (cost transfers from stock to COGS accounts) errors
  14. Remove circular accounting transactions where the same account is on both sides of the transaction
  15. Find overpaid expenses
  16. Check for various inventory anomalies including possible incorrect item condition and ok to sell flags
  17. Check for cross-posted jobs where the costs are posted into accounts that do not match the sales income on the invoices
  18. Check for inventory items removed from stock, conditions indicate a return is expected, but the RMA logic that tracks this is not in place

Some of these tests (3, 4, 6, 7, 9, 15, 17, 18) may involve corrections that need to be delayed. You always have the option to use -suppress to silence these alarms for a period of time (or permanently). For example, you might have a completed billable job, but a good reason for not doing the invoice right now. Suppress the report for a week and you won't see it here until the suppression expires.

We suggest running analysis and reports:sweeper on a daily basis. Usually, you won't get very many hits (a good thing), because if you're constantly vigilant, problems won't be able to accumulate. We plan to continue adding tests to sweeper as the need arises, and significant changes will get reported here.

An extensive document on use cases for test 18 was released today here. It explains in great detail some of the ways your returns process can get off track and what you'd want to do about it.