# Approve Slack expense receipts and post invoices to Xero with Textract and OpenAI

> Quick overview This workflow captures expense receipt images shared in Slack, extracts key fields with AWS Textract, categorizes the spend with OpenAI, requests manager approval in Slack, then creates an authorised ACCPAY invoice in Xero with the receipt attached and logs the outcome to Google Sheets. How it works 1. Triggers when a file is shared in Slack and downloads the shared file. 2. Filters events to receipt image uploads and sends the image to AWS Textract AnalyzeExpense to extract vendor, total, date, and currency. 3. Uses OpenAI to assign a single expense category from a fixed list and normalizes the extracted fields while checking Textract confidence thresholds. 4. If the extraction is low confidence, sends a Slack message asking the uploader to resend a clearer photo. 5. If the extraction is confident, posts a Slack approval request that pauses until a manager approves or rejects. 6. On approval, maps the category to a Xero account code, creates an authorised Xero ACCPAY in

- **Domain**: `n8n-workflow-20018.n8n.io`
- **Provider**: n8n.io (https://n8n.io)
- **Kind**: workflow
- **Live-responds (last probe)**: None
- **Signed card**: False
- **Streaming**: False
- **Quality score**: 40%

## URLs
- Agent card: https://n8n.io/workflows/20018
- Page (HTML): https://agenstry.com/agents/n8n-workflow-20018.n8n.io
- Documentation: https://n8n.io/workflows/20018
