Learn by Doing
The best way to learn how to use AI in finance is to start with small tasks you already know how to do well.
We learn best by doing: iterating, improving, and eventually building a solid mental model.
When ChatGPT launched, I started talking with people across the industry about AI’s role in finance and accounting. What struck me was how theoretical most of those conversations were. One person told me he had been learning about AI and its evolution from big data and statistical regression to machine learning, classifiers, and now generative AI. He was very excited about AI, but admitted that he hadn’t been able to make it actually work for him.
Opening ChatGPT for finance is like staring at a blank spreadsheet.
A spreadsheet is a powerful piece of software. It can handle formulas, pivot tables, links across sheets, charts, and more, but you still have to set it up and tie everything together. Could you learn spreadsheets from a textbook? Maybe. But almost everyone I know learned by working on real files, starting from scratch or copying someone else’s template. Learning ChatGPT is the same.
If you enjoy diving into how the models work, by all means do it. I am fascinated by the “sausage making” too. But if that is your primary learning plan for how to use AI in your work, you are missing an easier path.
How I got started
My personal aha moment came at OpenAI. I joined as Controller in March 2023, a few months after ChatGPT launched. The company was scaling quickly, and our finance team was really small. Within weeks, our manual spreadsheet processes broke. We needed scaled automation, but dedicated engineering resources were scarce, external software was pricey, and months-long implementations were non-starters. We still had to close the books in two weeks.
We turned to ChatGPT and began with small Excel-to-Python script conversions. Over time, the team learned where ChatGPT could speed us up and how to layer in our data and business logic to reach the outcomes we wanted.
Over the last two years, we saw real results:
We shifted a time-consuming spreadsheet based GPU reporting process to an automated dashboard delivering real-time data.
We built custom GPT bots to answer questions on AP invoice coding, travel and expense policy, and more.
We sped up our SOX adoption process, reducing time + consulting spend substantially.
We moved revenue accounting out of Excel into an automated solution, with many new hires on the revenue team teaching themselves SQL using ChatGPT
The payoff was remarkable: we achieved a month-end close in five business days and operated with a finance team less than twenty percent the size of peer benchmarks.
Where should you start? Pick something you already do easily in Excel. Then list the steps and ask ChatGPT to generate a Python script.
Let’s walk through an example
Suppose auditors want employee salaries by month for the last fiscal year, but your payroll system only shows current salary when you run a report. (Yes, this still happens and it’s endlessly frustrating. I’ll save this rant for another post).
Doing this in Excel
You can’t get the actual report you need, so you find yourself downloading a “change report” giving you all the employee salary changes — imagine you get four columns: employee ID, old salary, new salary, date of change. How do you get to your outcome using Excel? You take your change report and use a bunch of IF conditions and date comparisons to build yourself a “salary by month” view for employees. Then you realize you didn’t think about edge cases (what if an employee ID doesn’t appear on the change report? what if a salary change was effective retroactively?) You do all this and finally ship something respectable to the auditors. A few days later, they come back to you and ask for the same report but for cost centers by month. With despair, you go back to Step 1.
This looked like a pretty trivial problem to handle in Excel at the start. But you realize the formulas need a lot of babysitting, break easily when you change some parameters and each time you open the file, it sinks 45 minutes of your day.
Starting with ChatGPT
Instead of starting in Excel, take your problem and ask ChatGPT to write a Python script that ingests the change report and produces a tidy table. You’ll need to think through the business logic carefully (e.g. do you also need to supply a full employee roster report and ask it to pull salaries from there for people who don’t appear on the change report?) and review the output carefully to make sure it’s working as expected. Yes, this takes some time and back and forth. But the beautiful thing is — it’s a one and done and set up. Next time the auditors ask for a different date range, or a different report field, just tweak slightly and rerun the script.
Example Prompt for this Problem
I have an audit request that requires generating monthly employee salaries for the last fiscal year, but my payroll system only provides current salaries, not historical data. To get around this, I have downloaded a 'salary change report' with the following fields:
employee_id
old_salary
new_salary
date_of_changeI want a Python script that accomplishes the following:
Script Requirements:
Input:
Salary change CSV file (as described above).
(Optional) Employee roster CSV file containing all employee IDs and their current salaries, to capture employees who don't appear on the salary change report.
Output:
A tidy, structured table showing each employee’s salary for every month of a specified fiscal year. The final table should have the following columns:
employee_id
year_month(YYYY-MM)
salaryLogic to implement:
Handle salary changes within the month, assuming changes apply from the date onward within that month.
For employees without salary changes during the fiscal year, use the salary from the employee roster (if provided).
Flexibility:
Allow the user to easily modify parameters such as the date range (fiscal year).
Clearly commented and easy-to-read code to facilitate future adjustments (e.g., adding additional fields like cost centers or departments).
Output Export:
Save the resulting salary-by-month table as a CSV file.
Please include clear comments throughout your code explaining each major step, handle potential errors gracefully, and structure the script so it can be easily adapted if auditors request different views (e.g., cost centers by month, salaries by cost center by month, etc.)
Assume the CSV files will be placed in the same directory as the script for simplicity.
Try this out for yourself
Think of one spreadsheet that you update routinely — perhaps actualizing the financial model or prepping a journal-entry file. Feed column names or dummy data into ChatGPT and build a script. If you get stuck, ask ChatGPT to unblock you. Worried about data privacy? Use fake data; the model does not need real numbers to build the script.
The barrier to using AI at work is mostly in our minds. Look for practical examples, adapt them to your tasks, and experiment. In my view, that is the best way to put AI to work.



Amazing explanation of how to expand our use of AI for financial work! Thank you so much
Curious, is there a reason to get Python script instead of Custom Chat GPT? I have successfully created custom chat GPTs for spreadsheet processing. My sense is that Python scripts are a lot more reliable as Custom GPTs still hallucinate from time to time. Is that the primary reason?