This workflow corresponds to n8n.io template #12493 — we link there as the canonical source.
This workflow follows the Agent → Agenttool recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "fwT17HKb2cbxfVgN",
"name": "Intelligent financial reconciliation and tax reporting automation",
"tags": [],
"nodes": [
{
"id": "cbf814e6-df90-44eb-848e-df10413c6a1e",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1600,
528
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 2
}
]
}
},
"typeVersion": 1.3
},
{
"id": "3115a915-7798-4dba-8b13-239c2cc4f09c",
"name": "Workflow Configuration",
"type": "n8n-nodes-base.set",
"position": [
1824,
528
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "stripeApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Stripe API endpoint URL__>"
},
{
"id": "id-2",
"name": "bankFeedApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Bank feed API endpoint URL__>"
},
{
"id": "id-3",
"name": "invoiceApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Invoice system API endpoint URL__>"
},
{
"id": "id-4",
"name": "ecommerceApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Ecommerce platform API endpoint URL__>"
},
{
"id": "id-5",
"name": "taxAgentApiUrl",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Tax agent submission API endpoint URL__>"
},
{
"id": "id-6",
"name": "reconciliationThreshold",
"type": "number",
"value": 0.01
},
{
"id": "id-7",
"name": "notificationEmail",
"type": "string",
"value": "<__PLACEHOLDER_VALUE__Email address for notifications__>"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "da83c678-46d3-4ec3-80e8-9777e31ab88b",
"name": "Get Stripe Transactions",
"type": "n8n-nodes-base.stripe",
"position": [
2048,
320
],
"parameters": {
"limit": 100,
"resource": "charge",
"operation": "getAll"
},
"typeVersion": 1
},
{
"id": "1d46acb8-63c8-4e22-9398-bebbef8bcf1b",
"name": "Get Bank Feed Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
2048,
512
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.bankFeedApiUrl }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "4226b077-ba89-4755-9a5c-83841b0e8932",
"name": "Get Invoice Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
2048,
704
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.invoiceApiUrl }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "143f71d3-6048-43e3-bdaf-5d555c9f987d",
"name": "Get Ecommerce Platform Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
2048,
896
],
"parameters": {
"url": "={{ $('Workflow Configuration').first().json.ecommerceApiUrl }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "ae9e0714-1513-4ec9-a11a-15bf1fa9ae38",
"name": "Combine All Financial Data",
"type": "n8n-nodes-base.aggregate",
"position": [
2272,
528
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "2a652a97-ca7d-4b5f-822a-496482955a4f",
"name": "Orchestrator Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2592,
528
],
"parameters": {
"text": "={{ $json }}",
"options": {
"systemMessage": "You are a financial reconciliation orchestrator that coordinates specialized AI agents to detect and correct financial discrepancies.\n\nYour task is to:\n1. Call the Mismatch Detection Agent Tool to identify discrepancies between Stripe, bank feeds, invoices, and ecommerce platform data\n2. For each mismatch found, call the Root Cause Analysis Agent Tool to determine why the discrepancy occurred\n3. Call the Ledger Correction Agent Tool to generate correction instructions for the ledger\n4. Return a structured JSON output with all mismatches, root causes, and correction instructions\n\nBe thorough and systematic in your analysis. Use the Calculator Tool for any financial calculations needed."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "89afca4e-065a-4b26-87c0-6bf8723d83b8",
"name": "Mismatch Detection Agent Tool",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
2624,
752
],
"parameters": {
"text": "={{ $fromAI('financialData', 'All financial data from different sources', 'json') }}",
"options": {
"systemMessage": "You are a financial mismatch detection specialist.\n\nYour task is to:\n1. Compare transactions across Stripe, bank feeds, invoices, and ecommerce platform data\n2. Identify discrepancies in amounts, dates, transaction IDs, or missing entries\n3. Flag transactions that don't match within the reconciliation threshold\n4. Return a structured list of all mismatches found\n\nBe precise and thorough in your comparison. Use the Calculator Tool for amount comparisons."
},
"hasOutputParser": true,
"toolDescription": "Detects financial discrepancies between Stripe, bank feeds, invoices, and ecommerce platforms"
},
"typeVersion": 3
},
{
"id": "1ee71a92-7035-4017-b23c-c0a5994cce53",
"name": "Root Cause Analysis Agent Tool",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
2912,
752
],
"parameters": {
"text": "={{ $fromAI('mismatchData', 'Mismatch information to analyze', 'json') }}",
"options": {
"systemMessage": "You are a financial forensics specialist who determines root causes of discrepancies.\n\nYour task is to:\n1. Analyze each mismatch to determine the most likely root cause\n2. Consider common causes: timing differences, refunds, fees, currency conversion, data entry errors, duplicate entries, missing transactions\n3. Provide a clear explanation of why the discrepancy occurred\n4. Assign a confidence level to your analysis (high, medium, low)\n5. Return structured root cause analysis for each mismatch\n\nBe analytical and consider multiple possibilities before concluding."
},
"hasOutputParser": true,
"toolDescription": "Analyzes the root cause of financial discrepancies"
},
"typeVersion": 3
},
{
"id": "153c0bf9-b37f-42fd-a756-ba15860e1fae",
"name": "Ledger Correction Agent Tool",
"type": "@n8n/n8n-nodes-langchain.agentTool",
"position": [
3248,
752
],
"parameters": {
"text": "={{ $fromAI('rootCauseData', 'Root cause analysis results', 'json') }}",
"options": {
"systemMessage": "You are a ledger correction specialist who generates precise correction instructions.\n\nYour task is to:\n1. Based on the root cause analysis, determine the appropriate ledger correction\n2. Generate specific correction entries (debit/credit, account, amount, description)\n3. Ensure corrections maintain double-entry bookkeeping principles\n4. Include reference to original transaction and root cause\n5. Return structured correction instructions ready for implementation\n\nBe precise with amounts and account classifications. Use the Calculator Tool for any calculations."
},
"hasOutputParser": true,
"toolDescription": "Generates ledger correction instructions based on root cause analysis"
},
"typeVersion": 3
},
{
"id": "0b5a3883-ebc0-43bb-831f-0f43afeb4448",
"name": "OpenAI Model - Orchestrator",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2496,
752
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "e0f6b8c1-b94e-440b-b5ca-2257324f0c49",
"name": "OpenAI Model - Mismatch Detection",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2560,
960
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "48f84935-7fc2-4466-bb51-ceb1cbe502c9",
"name": "OpenAI Model - Root Cause",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2960,
1024
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "05bdb8b0-26f8-4316-824c-5663e42a895a",
"name": "OpenAI Model - Ledger Correction",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3280,
960
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "b844c2db-68a9-4b0a-80bc-80ff58059cfb",
"name": "Orchestrator Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3664,
752
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"reconciliationSummary\": {\n \"type\": \"object\",\n \"properties\": {\n \"totalMismatches\": {\"type\": \"number\"},\n \"totalCorrections\": {\"type\": \"number\"},\n \"reconciliationDate\": {\"type\": \"string\"}\n }\n },\n \"mismatches\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"mismatchId\": {\"type\": \"string\"},\n \"sources\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}},\n \"discrepancyAmount\": {\"type\": \"number\"},\n \"rootCause\": {\"type\": \"string\"},\n \"confidence\": {\"type\": \"string\"},\n \"correction\": {\"type\": \"object\"}\n }\n }\n }\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "56a1853d-a6f4-4c3c-b2cc-373d3570f087",
"name": "Mismatch Detection Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2736,
960
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"mismatches\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"mismatchId\": {\"type\": \"string\"},\n \"transactionId\": {\"type\": \"string\"},\n \"sources\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}},\n \"expectedAmount\": {\"type\": \"number\"},\n \"actualAmount\": {\"type\": \"number\"},\n \"discrepancyAmount\": {\"type\": \"number\"},\n \"transactionDate\": {\"type\": \"string\"},\n \"description\": {\"type\": \"string\"}\n }\n }\n }\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "fdc51dbd-e94c-43dc-b2f4-f5b3399f636f",
"name": "Root Cause Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3072,
960
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"rootCauseAnalysis\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"mismatchId\": {\"type\": \"string\"},\n \"rootCause\": {\"type\": \"string\"},\n \"explanation\": {\"type\": \"string\"},\n \"confidence\": {\"type\": \"string\", \"enum\": [\"high\", \"medium\", \"low\"]},\n \"category\": {\"type\": \"string\", \"enum\": [\"timing\", \"fees\", \"refund\", \"error\", \"duplicate\", \"missing\", \"other\"]}\n }\n }\n }\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "ce4b1761-1fad-415e-8ab4-5a2dc22d4833",
"name": "Ledger Correction Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3456,
960
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"corrections\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"mismatchId\": {\"type\": \"string\"},\n \"correctionType\": {\"type\": \"string\"},\n \"entries\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"account\": {\"type\": \"string\"},\n \"debit\": {\"type\": \"number\"},\n \"credit\": {\"type\": \"number\"},\n \"description\": {\"type\": \"string\"}\n }\n }\n },\n \"reference\": {\"type\": \"string\"},\n \"notes\": {\"type\": \"string\"}\n }\n }\n }\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "9983e8f0-942b-4349-b441-db69c04425b7",
"name": "Calculator Tool",
"type": "@n8n/n8n-nodes-langchain.toolCalculator",
"position": [
3536,
752
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b2807360-d2a3-4f2b-a610-ccf0556ba9bb",
"name": "Apply Ledger Corrections",
"type": "n8n-nodes-base.code",
"position": [
3824,
528
],
"parameters": {
"jsCode": "// Process reconciliation data from Orchestrator Agent and prepare ledger entries\nconst reconciliationData = $input.first().json;\n\n// Extract corrections from the reconciliation data\nconst corrections = reconciliationData.mismatches || [];\n\n// Prepare ledger entries for each correction\nconst ledgerEntries = corrections.map(mismatch => {\n return {\n mismatchId: mismatch.mismatchId,\n transactionId: mismatch.transactionId || mismatch.mismatchId,\n rootCause: mismatch.rootCause,\n confidence: mismatch.confidence,\n correction: mismatch.correction,\n discrepancyAmount: mismatch.discrepancyAmount,\n processedAt: new Date().toISOString(),\n status: 'applied'\n };\n});\n\n// Calculate summary statistics\nconst summary = {\n totalMismatches: corrections.length,\n totalCorrections: corrections.length,\n reconciliationDate: new Date().toISOString(),\n totalDiscrepancyAmount: corrections.reduce((sum, m) => sum + (m.discrepancyAmount || 0), 0)\n};\n\n// Return structured output\nreturn [\n {\n json: {\n reconciliationSummary: summary,\n ledgerEntries: ledgerEntries,\n originalData: reconciliationData\n }\n }\n];"
},
"typeVersion": 2
},
{
"id": "ed8003e2-7765-49df-941f-106496edd781",
"name": "Log Fixes to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
4048,
624
],
"parameters": {
"columns": {
"value": null,
"mappingMode": "autoMapInputData"
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Reconciliation Log"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "<__PLACEHOLDER_VALUE__Google Sheets document ID for logging__>"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "0990fbaa-4456-4e62-9501-fcae8130e95b",
"name": "Send Notification Email",
"type": "n8n-nodes-base.gmail",
"position": [
4048,
432
],
"parameters": {
"sendTo": "={{ $('Workflow Configuration').first().json.notificationEmail }}",
"message": "=The automated financial reconciliation has completed.\n\nSummary:\n- Total Mismatches Found: {{ $('Apply Ledger Corrections').first().json.reconciliationSummary.totalMismatches || 0 }}\n- Total Corrections Applied: {{ $('Apply Ledger Corrections').first().json.reconciliationSummary.totalCorrections || 0 }}\n- Report Submitted: {{ $('Submit Report to Tax Agent').first().json.success ? \"Yes\" : \"No\" }}\n\nPlease review the detailed log in Google Sheets for complete information.",
"options": {},
"subject": "=Financial Reconciliation Complete - {{ new Date().toLocaleDateString() }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "6d9a6219-2466-43d2-9ae4-cd1ced33ecec",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
2896,
-112
],
"parameters": {
"color": 5,
"width": 528,
"height": 304,
"content": "## Prerequisites\nNVIDIA API access, OpenAI API key, Stripe account\n## Use Cases\nMonthly financial close automation, daily transaction reconciliation\n## Customization\nModify detection thresholds, add custom financial data sources\n## Benefits\nReduces reconciliation time by 90%, eliminates manual data entry errors"
},
"typeVersion": 1
},
{
"id": "439c1e17-1679-4cac-9995-1b1f9d368b78",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
2336,
-96
],
"parameters": {
"width": 448,
"height": 256,
"content": "## Setup Steps\n1. Configure Stripe API credentials in \"Get Stripe Transactions\" node\n2. Add banking API authentication for \"Get Bank Feed Data\" node\n3. Connect e-commerce platform (Shopify/WooCommerce) credentials \n4. Input NVIDIA API key for all OpenAI Model nodes\n5. Set OpenAI API key in Orchestrator Agent\n6. Configure Gmail credentials for notification node"
},
"typeVersion": 1
},
{
"id": "94fa9eea-4d2c-4d3b-8cc4-b394efa81f9b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1584,
-112
],
"parameters": {
"width": 656,
"height": 272,
"content": "## How It Works\nThis workflow automates financial reconciliation by orchestrating multiple AI agents to detect mismatches, analyze root causes, and apply corrections across bank statements, invoices, and e-commerce platforms. Designed for finance teams, accountants, and business owners managing high transaction volumes, it eliminates manual reconciliation tedious work that typically consumes hours weekly. The system retrieves financial data from Stripe, banking APIs, and e-commerce platforms, then feeds it to specialized AI agents: one detects discrepancies using pattern recognition, another performs root cause analysis, and a third generates ledger corrections. An orchestrator agent coordinates these specialists, ensuring systematic processing. Results are logged to Google Sheets and trigger email notifications for critical issues, creating an audit trail while reducing reconciliation time from hours to minutes with 95%+ accuracy."
},
"typeVersion": 1
},
{
"id": "5d78fb73-2bff-4a16-b831-bcb4a02b4f33",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2912,
208
],
"parameters": {
"color": 7,
"width": 272,
"height": 960,
"content": "## Root Cause Analysis\n**Why:** Understanding why mismatches occur prevents recurring errors and informs process improvements beyond simple correction."
},
"typeVersion": 1
},
{
"id": "ca990672-c4d1-443d-9af3-d1f66482ad92",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2432,
208
],
"parameters": {
"color": 7,
"width": 464,
"height": 928,
"content": "## AI-Powered Mismatch Detection\n**Why:** Machine learning identifies discrepancies faster than manual review, catching subtle inconsistencies humans might miss across thousands of transactions."
},
"typeVersion": 1
},
{
"id": "4164f5ba-3a71-4fce-80d6-35dad0126407",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
208
],
"parameters": {
"color": 7,
"width": 832,
"height": 848,
"content": "## Scheduled Data Collection\n**Why:** Automated retrieval ensures consistent, timely reconciliation without manual intervention, capturing transactions from all financial sources simultaneously."
},
"typeVersion": 1
},
{
"id": "5c76321d-a0cc-43ca-8f60-b4dec4a27886",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
3216,
208
],
"parameters": {
"color": 7,
"width": 960,
"height": 960,
"content": "## Automated Ledger Corrections & Email\n**Why:** Direct correction generation eliminates transcription errors and accelerates resolution, maintaining accounting accuracy."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "51d826fa-d8ac-47cc-88d3-3f6b8b68acd5",
"connections": {
"Calculator Tool": {
"ai_tool": [
[
{
"node": "Orchestrator Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Invoice Data": {
"main": [
[
{
"node": "Combine All Financial Data",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Workflow Configuration",
"type": "main",
"index": 0
}
]
]
},
"Get Bank Feed Data": {
"main": [
[
{
"node": "Combine All Financial Data",
"type": "main",
"index": 0
}
]
]
},
"Orchestrator Agent": {
"main": [
[
{
"node": "Apply Ledger Corrections",
"type": "main",
"index": 0
}
]
]
},
"Workflow Configuration": {
"main": [
[
{
"node": "Get Stripe Transactions",
"type": "main",
"index": 0
},
{
"node": "Get Bank Feed Data",
"type": "main",
"index": 0
},
{
"node": "Get Invoice Data",
"type": "main",
"index": 0
},
{
"node": "Get Ecommerce Platform Data",
"type": "main",
"index": 0
}
]
]
},
"Get Stripe Transactions": {
"main": [
[
{
"node": "Combine All Financial Data",
"type": "main",
"index": 0
}
]
]
},
"Apply Ledger Corrections": {
"main": [
[
{
"node": "Log Fixes to Google Sheets",
"type": "main",
"index": 0
},
{
"node": "Send Notification Email",
"type": "main",
"index": 0
}
]
]
},
"Root Cause Output Parser": {
"ai_outputParser": [
[
{
"node": "Root Cause Analysis Agent Tool",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"OpenAI Model - Root Cause": {
"ai_languageModel": [
[
{
"node": "Root Cause Analysis Agent Tool",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Combine All Financial Data": {
"main": [
[
{
"node": "Orchestrator Agent",
"type": "main",
"index": 0
}
]
]
},
"Orchestrator Output Parser": {
"ai_outputParser": [
[
{
"node": "Orchestrator Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Get Ecommerce Platform Data": {
"main": [
[
{
"node": "Combine All Financial Data",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Model - Orchestrator": {
"ai_languageModel": [
[
{
"node": "Orchestrator Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Ledger Correction Agent Tool": {
"ai_tool": [
[
{
"node": "Orchestrator Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Mismatch Detection Agent Tool": {
"ai_tool": [
[
{
"node": "Orchestrator Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Root Cause Analysis Agent Tool": {
"ai_tool": [
[
{
"node": "Orchestrator Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Ledger Correction Output Parser": {
"ai_outputParser": [
[
{
"node": "Ledger Correction Agent Tool",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Mismatch Detection Output Parser": {
"ai_outputParser": [
[
{
"node": "Mismatch Detection Agent Tool",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"OpenAI Model - Ledger Correction": {
"ai_languageModel": [
[
{
"node": "Ledger Correction Agent Tool",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Model - Mismatch Detection": {
"ai_languageModel": [
[
{
"node": "Mismatch Detection Agent Tool",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2googleSheetsOAuth2ApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates financial reconciliation by orchestrating multiple AI agents to detect mismatches, analyze root causes, and apply corrections across bank statements, invoices, and e-commerce platforms. Designed for finance teams, accountants, and business owners managing…
Source: https://n8n.io/workflows/12493/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n automation workflow automates the creation, scripting, production, and posting of YouTube videos. It leverages AI (OpenAI), image generation (PIAPI), video rendering (Shotstack), and platform
Created by: Peyton Leveillee Last updated: October 2025
SEO Blog Article Generation Workflow. Uses outputParserStructured, httpRequest, agent, lmChatOpenAi. Scheduled trigger; 56 nodes.
This workflow was born out of a very real problem.
Automate post-purchase workflows by instantly fetching successful Stripe payments, matching them to corresponding automation templates in Google Sheets, and sending customers personalized access email