I Automated Accounts Receivable (AR) process, including follow-ups and ageing report generation, using AI and n8n at our company.

๐—œ ๐—”๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ฒ๐—ฑ ๐—”๐—ฐ๐—ฐ๐—ผ๐˜‚๐—ป๐˜๐˜€ ๐—ฅ๐—ฒ๐—ฐ๐—ฒ๐—ถ๐˜ƒ๐—ฎ๐—ฏ๐—น๐—ฒ (๐—”๐—ฅ) ๐—ฝ๐—ฟ๐—ผ๐—ฐ๐—ฒ๐˜€๐˜€, ๐—ถ๐—ป๐—ฐ๐—น๐˜‚๐—ฑ๐—ถ๐—ป๐—ด ๐—ณ๐—ผ๐—น๐—น๐—ผ๐˜„-๐˜‚๐—ฝ๐˜€ ๐—ฎ๐—ป๐—ฑ ๐—ฎ๐—ด๐—ฒ๐—ถ๐—ป๐—ด ๐—ฟ๐—ฒ๐—ฝ๐—ผ๐—ฟ๐˜ ๐—ด๐—ฒ๐—ป๐—ฒ๐—ฟ๐—ฎ๐˜๐—ถ๐—ผ๐—ป, ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—”๐—œ ๐—ฎ๐—ป๐—ฑ ๐—ป๐Ÿด๐—ป ๐—ฎ๐˜ ๐—ผ๐˜‚๐—ฟ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—ฎ๐—ป๐˜†.



๐˜•๐˜ฐ๐˜ต๐˜ฆ: ๐˜›๐˜ฉ๐˜ฆ ๐˜ท๐˜ช๐˜ฅ๐˜ฆ๐˜ฐ ๐˜ฉ๐˜ข๐˜ด ๐˜ข๐˜ถ๐˜ฅ๐˜ช๐˜ฐโ€”๐˜ฎ๐˜ข๐˜ฌ๐˜ฆ ๐˜ด๐˜ถ๐˜ณ๐˜ฆ ๐˜ต๐˜ฐ ๐˜ถ๐˜ฏ๐˜ฎ๐˜ถ๐˜ต๐˜ฆ ๐˜ช๐˜ต ๐˜ช๐˜ง ๐˜บ๐˜ฐ๐˜ถ’๐˜ฅ ๐˜ญ๐˜ช๐˜ฌ๐˜ฆ ๐˜ต๐˜ฐ ๐˜ฉ๐˜ฆ๐˜ข๐˜ณ ๐˜ฎ๐˜ฆ ๐˜ฆ๐˜น๐˜ฑ๐˜ญ๐˜ข๐˜ช๐˜ฏ ๐˜ต๐˜ฉ๐˜ฆ ๐˜ฑ๐˜ณ๐˜ฐ๐˜ค๐˜ฆ๐˜ด๐˜ด.

We are a B2B company, and 95% of our sales are credit sales. We have to follow up with our customers multiple times to get the payment, as some of our customers are big companies and they lose track of invoices.

Sometimes, we have to follow up with a customer 5โ€“10 times just to get the payment.

๐—ฆ๐—ผ ๐—œ ๐—ฑ๐—ฒ๐—ฐ๐—ถ๐—ฑ๐—ฒ๐—ฑ ๐˜๐—ผ ๐—ฎ๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ฒ ๐˜๐—ต๐—ถ๐˜€ ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—ป๐Ÿด๐—ป.

Hereโ€™s how the workflow works:

โ€ข Credit invoices are prepared and saved to Google Drive by our accountant.
โ€ข n8n detects this, processes the text in the invoice, formats it, and saves it into a Google Sheet.
โ€ข There is another Google Sheet where the contact details of the customers are stored.
โ€ข When the sheet is updated, it triggers another workflow that pushes the data to a PostgreSQL database in Supabase.
โ€ข I used a PostgreSQL database because itโ€™s easier to store and analyze data using SQL queries than searching in Google Sheets.
โ€ข There is another database that keeps track of when the follow-up email is sent.
โ€ข This workflow also generates an aging report.
โ€ข Every day at 9 AM, n8n runs a SQL query to search for:
โ€ข Invoices that havenโ€™t been paid (thereโ€™s a payment_status column in the sheet)
If an invoice is unpaid and overdue, it:

Sends an email to the customer with all the details, including the invoice number, PO number, and attaches the invoice PDF

โ€ข Follows up again in 7 days if still unpaid

It also sends an email to our accountant with the customerโ€™s:

โ€ข Mobile number
โ€ข Name of the concerned person, and asks him to call them
โ€ข Invoice details

This has made Accounts Receivable much more streamlined and automated a lot of boring tasks.

Leave a Reply

Your email address will not be published. Required fields are marked *