--- title: "Payment receipts from Outlook and Teams: a controlled collections queue" description: "How to use Power Automate to receive payment receipts from Microsoft 365, extract fields, propose a match, and route exceptions without turning Copilot into a financial black box." author: "Carlos García" published: 2026-09-13 updated: 2026-09-13 language: en human_url: "https://kiia.cloud/blog/payment-receipts-outlook-teams-collections/" --- > **In 60 seconds:** Power Automate can receive an email with attachments or detect a new file in the SharePoint library behind a Teams channel. The flow creates a case, preserves the original, extracts candidate fields, queries orders or receivables, and applies visible rules. Illegible receipts, duplicates, amount mismatches, and missing orders enter a queue with a reason and owner. Copilot can summarize permitted context and draft a clarification, but it cannot establish that funds arrived or decide where to apply them. SharePoint or OneDrive provides staging; the ERP or collections system keeps the official state. Measure time to reconciliation, exceptions, and rework before expanding the scope. A payment receipt often arrives in a shared Outlook mailbox or a Teams channel. Someone downloads the PDF or image, finds the customer, compares the amount with an order, and copies the result into the ERP. When something fails, the conversation continues in email or chat and the task becomes invisible to the rest of collections. Microsoft 365 can organize that journey without presenting automated reading as a financial decision. A useful architecture separates intake, extraction, matching, review, and posting. The capabilities and limitations cited in this guide were checked against Microsoft documentation on September 13, 2026; licenses, connectors, and policies still need verification for each tenant. ## One map for Outlook and Teams Both channels can feed the same queue, although they do not store files in the same way. | Intake | Recommended trigger | Evidence added to the case | Caution | | --- | --- | --- | --- | | Collections mailbox in Outlook | `When a new email arrives in a shared mailbox (V2)` | Message ID, sender, date, subject, and each attachment | The connection account needs mailbox access; protected email or invalid attachments may be skipped | | Collections channel in Teams | File created in the SharePoint library associated with the channel | Site ID, library, file, author, and time | Define one intake channel and folder; do not depend on someone mentioning a bot | | Teams message | Trigger for a specific chat or channel only when its text supplies necessary context | Message ID, conversation, and link to the file | The root-message trigger does not receive replies; some variants do not retrigger on edits | The [Outlook connector for Power Automate](https://learn.microsoft.com/en-us/connectors/office365/) can filter messages with attachments. Microsoft warns that including all attachment content in the trigger itself can cause waits and timeouts when many messages arrive together; its documented alternative is to trigger without the content and retrieve each file with `Get Attachment (V2)`. In Teams, a file does not really live in a Teams-only folder. Microsoft documents that [files shared in a channel are stored in the team's SharePoint site](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-isolation-in-microsoft-365#files), while files shared in a private or meeting chat are stored in the sender's OneDrive. A controlled channel with a SharePoint library trigger is therefore a more durable operational inbox. The [Teams connector](https://learn.microsoft.com/en-us/connectors/teams/) can collect message context, but its triggers have different scopes: some react only to root messages and others do not react to edits. The shared journey looks like this: 1. Outlook or SharePoint detects the new item. 2. Power Automate generates a `case_id`, checks format and size, calculates a file fingerprint, and stores the original in staging. 3. An authorized extraction service returns candidate fields without altering the document. 4. The flow normalizes the fields and queries eligible records in the ERP or accounts receivable system. 5. Deterministic rules compare references, customer, amount, currency, date, state, and duplicates. 6. A valid case becomes ready for the next control defined by Finance; a difference enters quarantine. 7. A person resolves the exception, and Power Automate records the decision and the destination system's response. This pattern complements the route for [payment receipts received through WhatsApp](/blog/payment-receipts-whatsapp-to-collections/). The channel, identity, and storage change, but the obligation to explain the match and keep the ERP as the source of truth does not. ## Separate orchestration, reading, and decision-making Putting “AI” in one box hides who did each job. Give every layer a specific responsibility. | Layer | Responsibility | What it must not decide | | --- | --- | --- | | Power Automate | Trigger, move the file, call services, query candidates, route states, retry, and record results | Whether a financial difference is acceptable by intuition | | OCR or document extraction | Propose text and fields with the original value and, when available, a field-level confidence signal | Whether the receipt proves that funds arrived or which balance receives them | | Copilot | Summarize a permitted thread, explain context to the reviewer, and draft a clarification request | Approve its own match, change a balance, or authorize a payment | | Business rules | Validate formats, states, references, authorized tolerances, and duplicates | Resolve an undocumented exception | | Responsible person | Confirm or correct exceptions within their role | Bypass segregation of duties because the flow makes it convenient | | ERP or collections system | Maintain orders, receivables, payment application, actor, state, and official history | Treat a folder or summary as a substitute for the entry | Copilot contributes context, not banking certainty. In Outlook it can [summarize threads and, in supported clients, PDF, Word, or PowerPoint attachments](https://support.microsoft.com/en-us/outlook/copilot-pages/summarize-an-email-thread-with-copilot-in-outlook). In Teams it can summarize conversations, but Microsoft says it [cannot summarize images or files shared in the chat thread](https://support.microsoft.com/en-us/teams/copilot/how-to-use-microsoft-365-copilot-in-teams-chats-and-channels). An image receipt needs an extraction method selected and tested for that format; the process should not rely on an undeclared product capability. After extraction, Copilot may prepare text such as “We need a clearer receipt” or summarize why a case has two candidate invoices. Keep the message as a draft until a rule or authorized person decides to send it. The comparison of [Power Automate, connectors, and custom development](/blog/copilot-power-automate-vs-custom-development/) helps choose the mechanism when the ERP lacks a standard connector or the workflow accumulates complex state. ## The minimum case schema The queue needs structured data in addition to the file. Always retain the received and normalized values so a correction can be explained. | Field | Example treatment | Use | | --- | --- | --- | | `case_id` | UUID generated once | Correlate the email, file, run, review, and write | | `source_channel` and `source_id` | `outlook` + message ID, or `teams_sharepoint` + file ID | Return to evidence without depending on a display name | | `received_at` and sender | UTC time, address, or authorized internal ID | Age, traceability, and origin controls | | `file_name`, type, size, and hash | Metadata without overwriting the original | Allowed-format and duplicate checks | | `amount_original`, `amount`, and `currency` | Read text, normalized decimal, and currency code | Compare without losing the submitted value | | `operation_date` and `payment_reference` | Payment date separate from receipt date; original and normalized reference | Search and detect reuse | | `customer_candidate` | Internal ID and rule that proposed it | Stop a similar name from becoming an identity | | `receivable_candidates` | IDs, states, balances, and differences | Present explainable alternatives to the reviewer | | `status`, `exception_reason`, and `owner` | Closed state, enumerated reason, and accountable person | Operate and measure the queue | | `decision` and `system_result` | Actor, time, rule or approval, transaction ID, and response | Establish what was attempted and what the ERP accepted | Do not reduce quality to one score. An amount can be read correctly and still belong to the wrong customer. If the extractor exposes confidence, store it per field and use it to prioritize review; do not turn it into permission to write. ## Layered matching, not general similarity Matching should return evidence and differences rather than a free-form answer. A practical sequence is: 1. Reject unsupported formats and separate documents without minimum fields. 2. Stop a processed file or reference by checking the hash, reference, and ERP history. 3. Resolve the customer through agreed identifiers; email, name, and conversation supply context only. 4. Query orders, invoices, or open items in an eligible state. 5. Compare currency before amount; never offset currencies without an explicit rule. 6. Compare reference, amount, date, customer, and state, retaining each rule's result. 7. Route zero candidates, multiple candidates, or one candidate with out-of-policy differences to review. 8. Recheck the balance, state, and duplicates immediately before preparing or executing any authorized write. The proposal should show the candidate record, matching fields, differences, query time, and allowed action. Our guide to [control levels for AI agents](/blog/copilot-or-autopilot-ai-agent-autonomy/) maps cleanly to these steps: extraction is reading, suggesting a document is a recommendation, and preparing an application is a draft. Posting a payment affects cash and balances, so it cannot bypass financial controls or exception review. ## Four exceptions the pilot must handle Quarantine is a worklist, not a folder named “Review.” Every entry needs an enumerated reason, evidence, owner, and deadline. | Reason | What the review card shows | Permitted resolution | | --- | --- | --- | | Illegible | Original, missing or uncertain fields, and source channel | Request another file or transcribe under the required control | | Possible duplicate | Hash, reference, amount, date, and earlier case or payment | Confirm the duplicate or justify why it is another transaction | | Amount mismatch | Balance, received amount, currency, and difference | Keep pending, associate under policy, or request clarification | | No order or receivable | Proposed identity, search criteria, and rejected candidates | Correct identity, match manually, or return to sender | Add `multiple_candidates`, `currency_mismatch`, `unsupported_file`, and `destination_failure` if they appear in the sample. Do not automatically turn one person's correction into a new rule. Analyze its frequency, document the policy, and test the change first. Teams can present the exception with a case link and the minimum information required to decide. Avoid copying the full receipt into every notification: that broadens access and creates more copies subject to retention. If the decision happens in a card or message, its result must return to the case and system of record; it cannot remain as an isolated “approved” in chat. ## SharePoint is staging; the ERP preserves truth A controlled SharePoint library can retain the original file, `case_id`, processing state, and a retention date. OneDrive can support individual work, but depending on the personal space of the person who shared a file weakens continuity, permissions, and employee-offboarding behavior. None of those folders should define that a payment has been applied. The sources of truth divide as follows: - Exchange or Teams preserves the original communication under company policy. - SharePoint temporarily preserves the file and processing metadata. - The queue preserves the owner, reason, state, and exception resolution. - The ERP or accounts receivable system preserves the balance, match, application, reversal, and official identifier. - The bank or payment provider preserves evidence that the movement occurred when an authorized integration exists. A receipt sent by a customer is evidence to review, not bank confirmation. A successful Power Automate write is not enough either: retain the ERP response and run a later reconciliation across received cases, decisions, and created transactions. This reduces the [cost of re-entering data between systems](/blog/cost-of-copying-data-between-systems/) without sacrificing traceability. ## Permissions, retention, and models Use a managed connection account with access only to the required mailbox, channel, library, and operations. Separate who edits the flow, reviews exceptions, and can post or reverse payments. Avoid the process owner's personal account, and log changes to connections, rules, and versions. Before the pilot, agree on: - who can view the original and which fields may leave the queue; - how long email, chat, staging files, extracted data, prompts, and logs remain; - which sensitivity or retention label applies to each location; - which connectors may exchange data inside the environment; - whether names, account details, bank references, or attachments may be sent to a specific model; - how applicable access, correction, deletion, and legal-hold requests are handled. Microsoft states that prompts, responses, and Graph data used by Microsoft Copilot [are not used to train foundation models](https://learn.microsoft.com/en-us/microsoft-365/copilot/microsoft-365-copilot-privacy), and that the experience respects tenant identity, permissions, and policies. This does not replace a lawful basis, classification, or internal decision about purpose and minimization. It also does not authorize pasting a receipt into a consumer account, enabling web search, or sending it to an external connector. Power Platform can apply [DLP policies to connectors](https://learn.microsoft.com/en-us/power-automate/prevent-data-loss), and Microsoft Purview offers [retention policies and labels](https://learn.microsoft.com/en-us/purview/retention) for supported locations. Verify the actual license and configuration: a documented feature is not proof that it is enabled in your tenant. ## A small, measurable pilot Start with one shared mailbox or channel, one entity, one currency, and one receipt type. Run the first stage in shadow mode: extract, search, and propose while the team keeps its current procedure. Compare results before the flow may prepare a write. | Metric | Definition | What it helps decide | | --- | --- | --- | | Time to reconciliation | From receipt to the correct accounts receivable match | Whether the flow reduces total waiting, not only transcription | | Exception rate | Quarantined cases ÷ received cases | How much of the chosen scope still requires judgment | | Rework | Corrected, reopened, or re-entered cases | Whether automation removes or shifts work | | Queue age | Open time by reason and owner | Whether human review has real capacity and an achievable SLA | | False positives | Proposed or accepted matches that validation finds incorrect | Financial risk and rule quality | Segment results by Outlook or Teams, PDF or image, customer, extractor, and reason. Do not publish an OCR, savings, or autonomy rate from a demo. Use synthetic documents for development and an authorized, minimized sample of your own documents for validation; never copy PII or real receipts into the article or uncontrolled environments. The pilot can advance when the team can explain every match, resolve the queue within its deadline, detect duplicates, and reconcile results against the ERP. Kiia designs this route with Power Automate as the orchestrator, Copilot as bounded assistance, and Finance as the owner of rules and exceptions. ## Frequently asked questions ### Can Copilot reconcile a payment receipt automatically? It should not make that decision. Copilot can summarize permitted context or draft a clarification request, but the amount, currency, duplicate check, and match to an order or receivable need verifiable rules and human review when an exception exists. ### Where should receipts received through Teams be stored? For a shared process, use a controlled channel whose SharePoint library acts as staging. Files sent in private chats remain in the sender's OneDrive, which is a weak dependency for an operational queue. The official payment state belongs in the ERP or collections system. ### How should the pilot be measured? Establish a baseline and measure time to reconciliation, exception rate, and rework. Add queue age and false-positive matches. Break results down by channel, format, and reason, and do not publish an extraction rate until it has been measured on your own documents.