Audit Analytics in Python: Duplicate Payments, Benford's Law and Journal-Entry Testing

<p>A supplier rang Kaveri Crunch Foods, a Pune snack maker, to say it had been paid twice. The audit committee's response: test every payment and every manual journal entry of the year, not a sample of 25. Ira Deshmukh, the internal audit lead, has the ERP exports and a Python script to write.</p><p>Across five lessons you build that script on your own copy of the data. You prove the data first: voided cheques, rupee amounts in Indian digit grouping, day-first dates, hand-typed invoice numbers and a vendor master that multiplies rows. Then you run the three tests auditors rely on. Duplicate payments: exact and near matches on the supplier's GSTIN, which see through duplicate vendor records and ignore monthly rent. Benford's law: first-digit shares, z-scores, chi-square and Nigrini's MAD, followed down to payments just under the approval limit. Journal-entry testing: manual entries posted on weekends and holidays, late at night, in round sums, self-approved or unbalanced.</p><p>In every lesson you build the test yourself first, then give the same job to your AI (ChatGPT, Claude, Copilot or Gemini) and learn exactly where it goes wrong: errors="coerce" hiding amounts, keep=False doubling the value at risk, a weekend test that misses Saturdays, a case-sensitive self-approval check. In the capstone your AI writes the whole audit script from one brief, and you prove every exception before it reaches the audit committee.</p><p>Bartman runs your script on its own servers against your data and checks the files it writes, so every check is about your real output, not a screenshot.</p>

Tools: Python, pandas, SciPy, Audit Analytics, Duplicate Payment Testing, Benford's Law, Journal-Entry Testing, matplotlib, AI Assistants for Python