What this audit checks
Authentication & access
- Session login (senderid + user/password) succeeds and the session id is refreshed before expiry
- Web Services authorization grants get_list on GLENTRY, ARINVOICE, SODOCUMENT, INVENTORY, CUSTOMER, VENDOR
- Every active Entity (multi-entity console) is in scope for queries
- get_list paging + query filters tuned to stay within API call limits
GL health
- Unposted GL batches below 50 (no stuck import from the ecom integration)
- Zero out-of-balance journal entries persisting past posting
- Smart Rules / integration errors cleared in the last 24h
- Manual journals under 25% of total postings (controls gap if higher)
AP/AR cycle
- AR aging 60+ days below 15% of open receivables
- DSO under 60 days and not rising > 10 days vsP
- No single customer holding > 40% of 60+ day AR (concentration risk)
- Cash application rate at or above 95%; high-value invoices (> 50k) not overdue 60+ days
Inventory reconciliation
- ERP-vs-ecom on-hand variance below 5% on top-50 velocity SKUs
- No item on-hand gone negative in any Warehouse
- Items below reorder point flagged
- Slow-moving / dead stock under 10% of inventory value
Period close
- Reporting period not past close deadline on any Entity (> 5 days blocks consolidation)
- Zero intercompany imbalances across the entity group
- Accrual reversals from the last close within expected range
Cross-channel: revenue reconciliation
- Ecom orders with a matching Intacct Sales Document + AR Invoice of equal value within the period (sibling = shopify/bigcommerce/adobe.order)
- Ecom customers with completed orders present in the Intacct CUSTOMER master
- AR aging on customers with active ecom orders (credit-control gap)
- Unbilled revenue forecast (commerce cleared value minus matched AR invoice value)
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
open_journal_count | 25 | 50 |
journal_imbalance_count | 1 | 5 |
ar_aging_60d_pct | 10 | 15 |
dso_days | 45 | 60 |
inventory_variance_pct | 3 | 5 |
period_close_overdue_days | 2 | 5 |
customer_master_drift | 5 | 10 |
Data sources
POST https://api.intacct.com/ia/xml/xmlgw.phtml (get_list GLENTRY)- GL entries: posting state, balance, entityPOST https://api.intacct.com/ia/xml/xmlgw.phtml (get_list ARINVOICE)- AR invoices: aging, due date, paid statePOST https://api.intacct.com/ia/xml/xmlgw.phtml (get_list SODOCUMENT)- Sales documents: state, hold, ecom referencePOST https://api.intacct.com/ia/xml/xmlgw.phtml (get_list INVENTORY)- Warehouse on-hand vs ecom availabilityPOST https://api.intacct.com/ia/xml/xmlgw.phtml (get_list CUSTOMER)- Customer master + credit terms