Power Automate for Accountants: Flows for Documents and Approvals

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Power Automate for Accountants: Flows for Documents and Approvals.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Power Automate for Accountants: Flows for Documents and Approvals.

An accounting firm can use Power Automate to log a client upload, alert the assigned reviewer, request a manager's approval and record the decision before a document moves to final work. Two flows built with standard Microsoft connectors may fit existing eligible Microsoft 365 rights; a premium connector typically calls for Power Automate Premium at $15 per user per month, paid yearly.

The price hinges on the actions inside the flow, not on the word “approval”. Microsoft's approvals connector is standard. A document arriving in SharePoint and an approval sent to a manager can therefore be a very different purchase from a flow that calls a premium accounting application or AI Builder. List every trigger and action before buying a licence.

Follow me on Instagram@sagnikteaches

Draw the document boundary before opening the flow editor

Pick a narrow job: “when a client places a statement in the agreed folder, tell the allocated accountant and ask for a completeness decision”. That is a routing job. It does not certify that the statement is genuine, reconcile its balances or decide what advice to give. Those remain professional decisions. Start with one document type, one intake route and one responsible manager. A broad instruction such as “automate client documents” makes the flow hard to test and its cost hard to explain.

Connect on LinkedInSagnik Bhattacharya

Write the existing route as five events: request sent, file received, accountant checks it, manager signs off, work file updated. Beside each event, write who is accountable, where the original sits and what evidence proves completion. For a year-end accounts pack, an upload might be logged against the client and period; an accountant might mark it complete or request a missing page; a manager might approve the checked pack for use in drafting. If a client sends a second version, keep both versions traceable rather than silently replacing the first.

Subscribe on YouTube@sagnikteaches

Do not use a shared general inbox as the sole source of client identity. The sender of a forwarded message may be a staff member, a bookkeeper or an unknown address. A controlled upload folder with a client identifier is easier to route. A client-specific link is a practical choice where access controls permit it. In a pilot, compare the folder permission list with the engagement list before inviting the client. A correctly labelled flow attached to a folder visible to the wrong client is still a failed process.

A useful discovery sheet has columns for document type, client code, engagement period, intake path, reviewer, approver, due date, destination, rejection route and retention rule. Fill it for the first ten live documents before building. You will expose exceptions such as two accountants sharing a client, a manager being away and documents submitted after the reporting cut-off. The broader human approval design tutorial covers approval patterns across other processes; the accounting version needs the engagement and evidence boundaries first.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Flow one: acknowledge and triage a client upload

Create a SharePoint library or another approved repository with a clearly limited intake folder. In Power Automate, choose a trigger for a new file in that folder. Fetch the file properties and construct a row in an intake list with a unique document ID, client code, period, original filename, received time and status “Awaiting review”. Set the accountant from a controlled client assignment table, not from the filename alone. A name such as “final.pdf” tells you almost nothing about ownership.

Then send the accountant a notification containing the document ID, client code, period and a link to the original. The acknowledgement to the client should only confirm receipt and the next expected human action. It should not say “accepted” or “approved”. Where the repository does not expose a safe client-facing reply address, keep client acknowledgement manual until you have tested recipient mapping. Put a condition in the flow for missing client code, empty file or duplicate document ID: place the item in an exception queue and tell an internal owner. Never guess a client from a fuzzy match.

Illustrative intake: a client uploads “Bank-April-v2.pdf” at 16:40. The assignment table maps client code C-017 and period April to an accountant. The intake list receives ID DOC-00482 and status “Awaiting review”; the accountant sees the link and a due date of the next working day. At 16:43 a second “Bank-April-v2.pdf” arrives. Rather than overwriting DOC-00482, the flow gives it DOC-00483 and flags “possible duplicate”. The accountant checks both. The numerical IDs and timings here are sample values, not platform promises.

The first failure test is a misfiled upload: place a statement for C-018 in C-017's folder. The flow must not send the document to C-017's client contact. Prefer an internal exception and a permission review. The second test is a locked or zero-byte file; a received notification alone cannot count as a usable document. The third is a file renamed after upload; your list record should preserve the original link or stable file ID, not rely only on a text path.

For more on client-facing document scope, see engagement letter drafting and scope checks. The flow should follow the document list promised in the engagement, rather than expand it by interpreting every incoming attachment as a new request.

Flow two: hold the pack for a manager's decision

Trigger the second flow when the accountant changes the intake-list status from “Awaiting review” to “Ready for manager”. Before issuing an approval, require a review note, the accountant's identity, the source-file link and a simple checklist result. Use Microsoft's “Start and wait for an approval” action for one named manager or a defined approval group, depending on the firm's sign-off policy. Pick the approval type deliberately: “Approve/Reject - First to respond” suits a pool of interchangeable managers, while “Sequential approval” sends the request to a reviewer and then a partner in a fixed order. The first approval flow in a non-default environment provisions a Dataverse database, and the person who runs it needs an administrator role there; in the default environment the database is created for you. Include the document ID in the approval title. A manager should be able to open the source and review note from the request.

On approval, write the decision, approver, timestamp and comments back to the intake list and route the pack to the next work queue. Microsoft's connector notes say approval timestamps are always shown in UTC, so label or convert them before comparing a sign-off with a client deadline. On rejection, set status “Action required”, notify the accountant and keep the submitted version. Do not delete or rewrite it merely because a manager has asked for a correction. If the approval times out or the manager is absent, place the item in an escalation queue; do not treat silence as consent. Microsoft's approval documentation explains the available approval actions, while the firm must decide who has authority for this engagement.

A copyable review note for a draft accounts pack could read: “DOC-00482; source: client bank statement dated 30 April; period: April; 12 pages checked against index; page 7 balance agrees with ledger extract; unresolved: one transfer of $480 awaiting client explanation; recommendation: return for clarification.” This is an illustrative note. Its unresolved item should prevent a clean manager approval if the firm's policy requires all material transactions explained. The flow can check whether the note field is filled, but it cannot decide whether the reasoning is sound.

Keep financial authority out of this generic flow. Approval to use a document in a workpaper is not approval to file a return, release financial statements or execute a payment. If a practice also automates payables, its payment-run approval controls should define separate thresholds and bank-change checks. Reusing the same “Approve” button for different obligations invites an audit dispute about what was actually authorised.

Price both flows by connector and operator

Microsoft lists Power Automate Premium at $15 per user per month, paid yearly. It includes standard, premium and custom connectors; the free trial is limited to standard ones. Its Process plan is $150 per bot per month, paid yearly, for a different process-licensing pattern. Those are list prices; checkout and your existing entitlements can differ. The approvals action itself is classified as standard in Microsoft's connector reference. Check the class of every other connector in the actual design, including the trigger, accounting application, file store and any data service.

Illustrative designLicence questionBudget illustration
SharePoint intake, list row, standard approvalDo eligible existing Microsoft 365 rights cover the makers and users?Potential incremental Power Automate licence cost: $0; confirm entitlement.
Same two flows with a premium application connector used by two licensed makersWhich users require Premium for this exact flow?2 × $15 = $30 per month, paid yearly, before other application fees.
AI Builder classifies uploaded documentsWhat credit capacity and consumption rate apply in the environment?Credits are additional to the connector decision; measure a pilot.

The $30 line is a scenario, not a universal quote. A reviewer receiving an approval and a maker owning the automation are different roles, and Microsoft's licensing terms distinguish flows and users in ways that depend on the design. Ask an administrator or reseller to validate the diagram and licence assignment. Keep a one-page record of the connector list and why each action is necessary; otherwise a later “small” integration can silently change the bill.

A second illustrative calculation shows the opportunity cost. Suppose a six-person practice processes 80 monthly documents and spends four minutes manually logging, naming and notifying for each. That is 320 minutes, or 5 hours 20 minutes, before any professional review. If the first flow reduces only the logging and notification part to one minute of exception handling per document, the theoretical time released is 240 minutes. The manager review still takes its full time. Value those four hours against the implementation, checks and ongoing maintenance; do not book them as a saving until the team has measured actual runs.

If the practice tries a premium connector for two operators at $30 monthly, a fair comparison is the measured administrative time avoided plus any reduction in missing-document chases. Do not pretend the software removes the accountant's review. If the process runs only ten times monthly, the arithmetic is different: three minutes saved per item is 30 minutes, which may not support a subscription. This is why pricing by a real document count is more useful than treating a demonstration video as evidence of return.

Keep AI extraction in a separate cost box

AI Builder can extract or classify content, but neither flow above needs it. That separation matters now. Microsoft's End of AI Builder credits page says that, since 1 November 2026, premium licences no longer bring seeded AI Builder credits (Power Automate Premium carried 5,000 per licence); seeded credits already held are honoured to the end of the contract term, and new customers buy Copilot Credits rather than AI Builder add-ons. When AI Builder credits run out, the environment falls back to Copilot Credits; with none available, the AI Builder action is blocked. Rates vary by capability. Adding an AI Builder action does not by itself make a Power Automate flow premium, so the credit budget is a separate line from the connector licence. A firm that adds extraction to 80 statements needs to run representative files and read its capacity report before putting a fixed monthly figure in a budget.

Take a sample of 20 documents: five clean digital PDFs, five scans, five with multiple accounts and five with poor naming or missing pages. Record correct field extraction, false values, manual correction time and credit use. If the model reads a closing balance of $8,750 as $87,500, a flow that copies it straight into a workpaper has moved the error faster. Put extracted values in a review queue beside the original image. Use a confidence flag only as a prompt to inspect, never as proof of correctness.

A third cost illustration: if a practice pays for document processing but 14 of 20 sampled statements still need manual review, the business case depends on how much keying is actually avoided, not the model's headline accuracy. Record the total run charge and staff minutes for each document. For a fuller set of named accounting checks, use the accountants' AI error checklist. The November credit transition is a reason to budget capacity explicitly, not a reason to avoid routing automation that needs no AI extraction.

Test the exceptions a live practice will produce

Run the two flows in a test library with synthetic documents. Use a matrix with inputs, expected route, actual route and evidence link. Start with a valid upload and approval. Then test a rejection with a reason, an approver on leave, an unassigned client, a duplicate, a permission-denied file, a document of the wrong type and a client who submits after the deadline. A passing run means the right person receives the right information and the record shows the right status. It does not merely mean Power Automate displayed a green tick.

For example, the accountant marks DOC-00482 “Ready for manager” but leaves the review note blank. The expected outcome is no approval request and an internal prompt to add the note. If the manager still receives an approval, the condition is in the wrong place. Another example: the manager presses “Reject” and comments “page 7 missing”. The expected state is “Action required” with the original and comment preserved. If the client receives an automatic message saying “your records were rejected”, the flow exposes internal wording that should have stayed with staff.

Assign a named primary maintainer and deputy. Keep a register of flow name, business purpose, owner, connections, last test date, exception inbox and manual fallback. A flow owned only by an employee who leaves can become orphaned. Check how your tenant handles connection ownership and shared maintenance before relying on it. Review run history and failed runs at least weekly during the pilot, and set an alert for failure. Microsoft's limits page says a cloud flow whose trigger or actions fail continuously for 14 days is turned off, and a flow not triggered for 90 days may be suspended unless its owner holds a premium or Process licence. A seasonal year-end flow can hit that second rule between busy periods, so diarise a test run. A client deadline will usually arrive long before either shutdown.

A fourth illustrative exception is a client who replies to the acknowledgement email with a replacement attachment. If the approved intake route is the upload folder, that reply must not silently create a second, unlogged workpaper. The acknowledgement can say, “We have received document DOC-00482. If you need to replace it, use the same secure upload route and refer to this ID.” Staff should still watch the replies during the pilot. A fifth is the manager who approves on a phone without opening the file. Add a required review note or an attestation suited to the practice's policy, then sample the records to see whether the control changes behaviour. A timestamp alone proves a button was pressed, not that a file was considered.

Before transferring a pilot to routine use, reconcile the intake list against the repository and the approval history. For a sample week with 22 uploads, the expected counts might be 22 intake records, 17 completed reviews, three client queries and two manager decisions still pending. Those numbers are illustrative. Every upload should have exactly one current status, and every “approved” status should trace to a named approver and the version that person saw. Investigate any file without a record, record without a live file or status that jumped from “Awaiting review” to “Approved”. That reconciliation detects errors an ordinary successful-run screen can miss.

Use a four-week acceptance log rather than a vague “it seems quicker” judgement. For each document, capture receipt time, first human review time, manager response time, number of chases, number of misroutes and manual minutes. Compare with a baseline of the same document type. If misroutes appear, stop the automatic client-facing part while repairing the identity mapping. If approvals sit for days, change the escalation and staffing rule rather than adding more reminders. If no one uses the exception queue, make it a normal part of the practice's daily work list.

The final handover is a one-page operating instruction: where clients upload, what each status means, who can change it, what the manager's button authorises, who checks failures and how to process a document when the flow is unavailable. A flow that the team can explain and recover is more valuable than a complex one that only its maker understands. Keep the first release confined to the two document routes; add extraction or an accounting-system connector only after the simple route has produced a reliable audit trail.

Questions about approval flow ownership and cost

Does every approver need Power Automate Premium?

Do not infer licensing from the number of email recipients. First identify who owns and runs each flow, which connectors it uses, and how users interact with it. Standard-connector flows may be covered by eligible Microsoft 365 rights; premium connectors change the position. Have your licence administrator check the exact design against Microsoft's current licensing guidance before rollout.

Can the flow approve a client document automatically?

It can route a document and record a response, but a professional should still decide whether the evidence is complete and appropriate. Treat a client upload as received, not approved. If you add extraction or classification, send uncertain or mismatched results to a reviewer and keep the original file available for comparison.

What happens if the flow owner leaves the firm?

A flow tied to one employee's account can become difficult to maintain when that account is disabled. Record an owner and a second maintainer, add that maintainer as a co-owner of the flow where your administrator permits it, and test the handover before staff departures. Keep a manual inbox and sign-off route documented so client work does not depend on one automation.

Further reads

Sources: Microsoft Power Automate pricing; Microsoft Learn, Get started with approvals; Microsoft Learn, Standard approvals connector; Microsoft Learn, End of AI Builder credits; Microsoft Learn, Licensing and AI Builder credits; Microsoft Learn, Limits of automated, scheduled and instant flows (checked 4 November 2026).

Want a document flow your practice can own?

On a 1:1 call we can map your client upload and sign-off steps, price the connectors actually needed, and set a review route your team can operate.

Book a 1:1 call with me