All articles
By Carlos García Updated 12 min read

Payment receipts from Outlook and Teams: a controlled collections queue

Payment receipts from Outlook and Teams: a controlled collections queue

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.

IntakeRecommended triggerEvidence added to the caseCaution
Collections mailbox in OutlookWhen a new email arrives in a shared mailbox (V2)Message ID, sender, date, subject, and each attachmentThe connection account needs mailbox access; protected email or invalid attachments may be skipped
Collections channel in TeamsFile created in the SharePoint library associated with the channelSite ID, library, file, author, and timeDefine one intake channel and folder; do not depend on someone mentioning a bot
Teams messageTrigger for a specific chat or channel only when its text supplies necessary contextMessage ID, conversation, and link to the fileThe root-message trigger does not receive replies; some variants do not retrigger on edits

The Outlook connector for Power Automate 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, 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 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. 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.

LayerResponsibilityWhat it must not decide
Power AutomateTrigger, move the file, call services, query candidates, route states, retry, and record resultsWhether a financial difference is acceptable by intuition
OCR or document extractionPropose text and fields with the original value and, when available, a field-level confidence signalWhether the receipt proves that funds arrived or which balance receives them
CopilotSummarize a permitted thread, explain context to the reviewer, and draft a clarification requestApprove its own match, change a balance, or authorize a payment
Business rulesValidate formats, states, references, authorized tolerances, and duplicatesResolve an undocumented exception
Responsible personConfirm or correct exceptions within their roleBypass segregation of duties because the flow makes it convenient
ERP or collections systemMaintain orders, receivables, payment application, actor, state, and official historyTreat 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. In Teams it can summarize conversations, but Microsoft says it cannot summarize images or files shared in the chat thread. 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 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.

FieldExample treatmentUse
case_idUUID generated onceCorrelate the email, file, run, review, and write
source_channel and source_idoutlook + message ID, or teams_sharepoint + file IDReturn to evidence without depending on a display name
received_at and senderUTC time, address, or authorized internal IDAge, traceability, and origin controls
file_name, type, size, and hashMetadata without overwriting the originalAllowed-format and duplicate checks
amount_original, amount, and currencyRead text, normalized decimal, and currency codeCompare without losing the submitted value
operation_date and payment_referencePayment date separate from receipt date; original and normalized referenceSearch and detect reuse
customer_candidateInternal ID and rule that proposed itStop a similar name from becoming an identity
receivable_candidatesIDs, states, balances, and differencesPresent explainable alternatives to the reviewer
status, exception_reason, and ownerClosed state, enumerated reason, and accountable personOperate and measure the queue
decision and system_resultActor, time, rule or approval, transaction ID, and responseEstablish 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 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.

ReasonWhat the review card showsPermitted resolution
IllegibleOriginal, missing or uncertain fields, and source channelRequest another file or transcribe under the required control
Possible duplicateHash, reference, amount, date, and earlier case or paymentConfirm the duplicate or justify why it is another transaction
Amount mismatchBalance, received amount, currency, and differenceKeep pending, associate under policy, or request clarification
No order or receivableProposed identity, search criteria, and rejected candidatesCorrect 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 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, 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, and Microsoft Purview offers retention policies and labels 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.

MetricDefinitionWhat it helps decide
Time to reconciliationFrom receipt to the correct accounts receivable matchWhether the flow reduces total waiting, not only transcription
Exception rateQuarantined cases ÷ received casesHow much of the chosen scope still requires judgment
ReworkCorrected, reopened, or re-entered casesWhether automation removes or shifts work
Queue ageOpen time by reason and ownerWhether human review has real capacity and an achievable SLA
False positivesProposed or accepted matches that validation finds incorrectFinancial 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.

From insight to action

Want to turn this into an agent that works for your team?

Tell us which process you want to improve. In a free call, we will identify the first workflow worth building.

Book a free call