Skip to content
← Back to case studies

Hybrid tax and finance RPA with Microsoft Power Automate

Automation of tax obligations and banking routines combining business rules inside the ERP with orchestration in Power Automate and Azure Logic Apps, with end-to-end observability.

Industry
In-house automation product and industrial clients
Period
2023 — 2026
Role
Sole author of the finance module and monitor
Scale
Multi-company automation running in production

100%

of tax rules kept inside the ERP

2

automated fronts (tax and banking)

24/7

monitoring with active alerting

Technologies

Microsoft Power AutomateAzure Logic AppsInterSystems IRISObjectScriptRESTWebhooksSUFRAMASMTP

Challenge

Most Brazilian tax obligations have no API. The portal exists, the file has a defined format, but the path between the ERP and the authority is a browser with a human inside it. That holds for downloading tax documents from national issuers. It also holds for bringing goods into a free trade zone, where a specific file has to be submitted and its response tracked for days.

On the banking side the problem is the same: reconciliation and posting depended on someone opening the online banking portal for each company in the group.

The temptation in these cases is to throw everything at an RPA tool and let the business rule live inside the robot. Nobody can audit automation built that way, and it breaks with every screen-layout change.

Solution

I adopted a hybrid architecture with an explicit boundary: every tax and financial rule stays inside the ERP; Power Automate and Logic Apps only execute the part that requires a browser or an external portal.

The ERP assembles the work package, triggers a cloud flow through an authenticated webhook, and goes back to tracking the process by polling, because the authority’s response can take hours or days. The robot decides nothing, it clicks and reports back. When the portal’s layout changes, the external flow breaks and the business rule stays standing.

On top of that I built the observability layer: centralised logging of every run, email and WhatsApp alerts on failure, and an internal dashboard for tracking runs, so the operations team can see what’s stuck without opening the database.

For the free trade zone case, the flow runs from the invoice through to the notification. The ERP generates the file in the required format, the robot submits it, an async monitor tracks the status change, and the person responsible is notified when there is a pending issue.

Outcome

Processes that depended on someone sitting in front of a portal started running on their own, with a record of everything that happened. And when something fails, someone finds out immediately and knows which step it stopped at. Silent failure is the worst defect in an RPA project, and the active alerting is there precisely so that none of it slips through.

What this case shows

The decision that holds the project up is where the rule lives. RPA came in as a last resort and observability was treated as a requirement from the start. In among that, integration of the Microsoft automation stack with a legacy ERP.

Stuck on a term? There is a glossary. Glossary