AI-Powered Help Desk for Accounts Payable Automation

xelix · Finance · 2025 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Accounts payable help desk automation

Xelix needed to help AP teams handle very high-volume vendor email queues without exposing financial data or sending unreliable invoice-status responses.

Constraints:

Architecture

Xelix built a vertical AP help desk pipeline around email-thread tickets. Incoming emails are synchronized from Outlook, preprocessed for metadata and attachments, classified into AP categories, matched to vendor and invoice records in customer ERP data, and enriched with invoice status and confidence signals. Only invoice and reminder tickets flow into response generation: a context-augmented LLM receives validated upstream data and drafts a response for a human AP user to review, edit, or send. Other categories still receive enrichment or workflow automation, such as statement reconciliation, but not automatic response drafting.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  outlook-sync["outlook-sync"] --> ticketing-system["ticketing-system"]
  ticketing-system --> email-processing-pipeline["email-processing-pipeline"]
  email-processing-pipeline --> request-classifier["request-classifier"]
  request-classifier --> vendor-identity-resolver["vendor-identity-resolver"]
  vendor-identity-resolver --> erp-financial-data["erp-financial-data"]
  vendor-identity-resolver --> invoice-matching-service["invoice-matching-service"]
  invoice-matching-service --> erp-financial-data
  invoice-matching-service --> response-generator["response-generator"]
  request-classifier --> statement-reconciliation-workflow["statement-reconciliation-workflow"]
  statement-reconciliation-workflow --> erp-financial-data
  response-generator --> ap-user-review-ui["ap-user-review-ui"]
  invoice-matching-service --> ap-user-review-ui
  ticketing-system --> ap-user-review-ui
  ap-user-review-ui --> monitoring-dashboard["monitoring-dashboard"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
outlook-sync Keeps the help desk mailbox eventually consistent with customer Outlook inboxes and maps emails to threads and tickets. ticketing-system, email-processing-pipeline
ticketing-system Represents email threads as AP tickets, tracks closed tickets, highlights generated responses, and exposes ticket fields to users. outlook-sync, email-processing-pipeline, ap-user-review-ui
email-processing-pipeline Runs preprocessing, classification, vendor identification, invoice extraction, matching, enrichment, and response-generation routing. request-classifier, vendor-identity-resolver, invoice-matching-service, response-generator, statement-reconciliation-workflow
request-classifier Classifies incoming tickets into AP categories such as reminders, invoices, statements, and bank-detail requests. email-processing-pipeline, vendor-identity-resolver, response-generator, statement-reconciliation-workflow
vendor-identity-resolver Combines email domain, email text, attachments, and master vendor data to decide which vendor is associated with a ticket. erp-financial-data, invoice-matching-service, response-generator
invoice-matching-service Extracts invoice details and uses ML matching probabilities to identify corresponding ERP records and confidence warnings. erp-financial-data, response-generator, ap-user-review-ui
erp-financial-data Customer financial database containing vendors, invoices, statuses, payments, and statement data. vendor-identity-resolver, invoice-matching-service, statement-reconciliation-workflow
response-generator A constrained context-augmented LLM that drafts AP responses from validated pipeline context without deciding what data to retrieve. email-processing-pipeline, ap-user-review-ui
statement-reconciliation-workflow Automates statement reconciliation by starting the workflow, matching statement details, and presenting completed results for user send-off. request-classifier, erp-financial-data, ap-user-review-ui
ap-user-review-ui Human review surface where AP users inspect enriched ticket data, generated responses, warnings, and confidence scores before sending. ticketing-system, invoice-matching-service, response-generator, monitoring-dashboard
monitoring-dashboard Internal product and AI monitoring dashboard for response usage, edit distance, coverage, ticket handling, and platform stickiness metrics. ap-user-review-ui

Data flow

A vendor email enters the help desk through Outlook sync and becomes part of an email-thread ticket. The pipeline extracts sender, attachments, and message content; classifies the request; tries to identify the vendor from domain, email text, and attachments; matches invoice details against ERP records with ML confidence scores; surfaces invoice/status data and warnings in the ticket UI; and, for invoice or reminder cases, passes the validated context to an LLM that drafts a response. Users review the generated answer and their sends, edits, rejections, ticket handling behavior, and platform usage flow back into product and AI monitoring dashboards.

4 supporting quotes
“once an email arrives into our product, we start off a series of tasks and some of these are parallel, some of these are sequential”transcript, stated
“We do generate responses only for invoices and reminders. So any type of other queries we do provide like extra information”transcript, stated
“After we've got that information data, we've matched it, then we'll we can then synthesize that information in a response.”transcript, stated
“we track basically how often are they being used, which customers are using them and we can also see how different the responses that they sent ended up being.”transcript, stated

Why this architecture

The architecture narrows the LLM to language synthesis because AP responses depend on accurate financial context, vendor identity, and invoice matching. Xelix separates extraction, matching, confidence scoring, and generation so each step can be tested and so the system can refuse or warn when identity or invoice matches are uncertain. The ticket-centric UI and human review gate keep adoption and safety aligned while monitoring shows whether users actually trust and use the output.

4 supporting quotes
“It holds all their invoices. So what we try to do with help desk is when our customers get these requests from vendors asking where's my payment?”transcript, stated
“So it's not um exactly an agent like it cannot take like it doesn't decide what to do. We tell it what it has to do with the data that we give it.”transcript, implied
“because we're working with financial data, a really big requirement we have is accuracy. So we want to make sure that we produce reliable consistent results”transcript, implied
“And then with a generated response, we have a confidence measure that we associate to it that allows the user to see how confident we are in that response.”transcript, implied

Models used: large language models · machine learning matching models

Scale

Alternatives considered (roads not taken)

Build a broad AI responder for every AP mailbox query

Rejected because: Xelix started with narrow invoice and reminder categories because full mailbox coverage was unrealistic and the selected class aligned with real data, time savings, and ERP access.

“We really started off by imagining a world where we could respond to all the queries that might land in an account payable mailbox automatically.”transcript, stated
“we settled on a specific category for of emails that were to do with these reminder requests. but we call them reminder or invoice emails”transcript, stated

Let the LLM autonomously choose actions and retrieval steps

Rejected because: The team constrained generation to synthesis over validated data to preserve accuracy with financial records.

“all the data we give it has been separately like validated and produced by other processes.”transcript, stated
“we break up these these steps and make them as narrow as possible. So the final generate response task is just an LLM”transcript, stated

Replace Outlook-like workflows immediately with a new ticketing interface

Rejected because: Xelix first used a familiar inbox view to reduce onboarding friction, then added a ticket-centric view as users became comfortable with AI features.

“we tried to build a system that looked a lot like Outlook that a person could stop using their male client one day and log on to help desk the next”transcript, stated
“people jumped on, they really enjoyed the familiarity of it, but it did present a number of problems down the line.”transcript, stated

Generate every reminder or invoice response eagerly

Rejected because: The team recognized that some tickets are spam or low-priority, so future work targets generation only for messages customers care about.

“not all reminder and invoice emails are created equal. So some are emails that our customers just don't care about.”transcript, stated
“currently we are investing time resources to run this pipeline generate responses for them. So we want to be more targeted”transcript, stated

Patterns

tool-use-orchestration (architecture)

The help desk orchestrates email sync, classification, vendor lookup, invoice matching, ERP retrieval, statement reconciliation, and response generation as a multi-step business workflow.

“when our customers get these requests from vendors asking where's my payment? I sent this invoice. What's the status on this? We can actually link to their database to retrieve the status”transcript, stated
“we would kickstart that reconciliation process, we would do the entire reconciliation and all the it all the user needs to do is just click on the done reconciliation”transcript, stated

structured-output-contract (architecture)

The response generator is constrained to synthesize a professional reply from structured, separately validated upstream context rather than free-form deciding what to retrieve or say.

“We tell it what it has to do with the data that we give it. And all the data we give it has been separately like validated and produced by other processes.”transcript, stated

confidence-thresholding (control)

Xelix exposes confidence from extraction, matching, thread complexity, and context completeness so AP users can decide whether to send, edit, or ignore a generated response.

“So the confidence measure that we display on our responses is basically a combination of the task that came before it and also how complicated the email thread is.”transcript, stated
“how confident are we about these matches and we then also assess given the entire context of um what we know about the ticket”transcript, stated

human-in-the-loop-gate (control)

Generated responses are precomputed but held for the AP professional, who reviews, edits, or sends them instead of allowing unsupervised financial replies.

“we pre-generate a response when it is ready. So users do not have to wait the 12 or so seconds it takes to generate a response.”transcript, stated
“the user can decide whether they actually need to review the response, edit it, or if they're happy to send it off.”transcript, stated

data-quality-loop (data)

The team manually tagged real customer emails before building, then used response usage and edit behavior to identify where generated responses or phrasing need iteration.

“we would just manually go through them, read every request and tag them. Uh and this gave us sets of data to work with.”transcript, stated
“we can also see how different the responses that they sent ended up being. So even if they use the response, did they for example change everything about it”transcript, stated

eval-driven-development (process)

Carpatio daily slices and beta release through the statements module gave Xelix production-like feedback loops before broad rollout.

“a daily slice is basically a goal a daily goal for a developer to do some sort of task which contributes to the overall feature that you want to release.”transcript, stated
“we actually released a beta version of help desk as part of the statements module. So as discussed before the statements module is like quite popular within Alex.”transcript, stated

fallback-degradation (control)

If vendor identity or invoice matching is unclear, the system withholds generation or flags the uncertainty instead of sending risky financial information.

“if we cannot find out the vendor then we won't we might not be able to find the invoice information and if we can't do that then we will not generate a response either.”transcript, stated
“we basically have this like status that we show when we're not able to find a good match. Yeah. Which I think is quite useful as well.”transcript, stated

observability-tracing (operations)

The team monitors technical matching quality, response usage, edit distance, ticket handling, automatic closures, and platform stickiness to understand production behavior.

“we have an internal dashboard that we use at Zelix which we use to monitor the performance and user behavior of our products”transcript, stated
“we measure the messages that are coming out of help desk versus the messages that are not coming out of help desk and are being produced on another platform.”transcript, stated

Tradeoffs

Scope the first AI responder narrowly

Chose invoice and reminder request pipelines over a general AP inbox responder.

Rationale: The narrow category had volume, high handling cost, and clear ERP context that Xelix could retrieve reliably.

“what costs users the most time, what are the patterns we see that we could potentially automate and then where could we leverage like our kind of you know unique selling point”transcript, stated
“we decided to not go for does it all AI try to respond to every query. We went very narrow initially and we actually also broke it up in several separate steps.”transcript, stated

Keep LLM autonomy low

Chose context-augmented synthesis over validated data over an agent that decides what to retrieve and what action to take.

Rationale: Financial accuracy mattered more than breadth, and upstream deterministic/ML steps could be independently validated.

“it's like an context augmented LLM is what I like to call it. So it's not um exactly an agent like it cannot take like it doesn't decide what to do.”transcript, stated
“So that's why we break up these these steps and make them as narrow as possible. So the final generate response task is just an LLM”transcript, stated

Pre-generate responses before ticket open

Chose background generation with review-on-open over on-demand generation after a user opens a ticket.

Rationale: Pre-generation removes the visible 12-second wait from the AP user's workflow while preserving human review.

“we pre-generate a response when it is ready. So users do not have to wait the 12 or so seconds it takes to generate a response.”transcript, stated
“They just jump into a ticket, see the query they got from the vendor, and then the generated response is there and ready for them.”transcript, stated

Use a dual UI migration path

Chose inbox view plus ticket-centric AI view over forcing a complete workflow switch at onboarding.

Rationale: The familiar view reduced onboarding friction, while the ticket view corrected the email metaphor's limitations and encouraged AI feature adoption.

“this would really help cut down on onboarding training requirements and that sort of thing. And at the beginning it did work quite well.”transcript, stated
“they do migrate over to the more robust display.”transcript, stated

Release beta through an existing statements module

Chose piggybacking on a module with an established user base over waiting for a standalone help desk launch.

Rationale: The statements module provided immediate access to real users and fast feedback on what did and did not work.

“the statements module is like quite popular within Alex. It has a good user base. So we released the kind of beta version of the product as part of that”transcript, stated
“They were very quick to say what they loved and what they didn't love so much.”transcript, stated

Gotchas (what bit them)

Vendor identification is harder than the email domain makes it appear.

Root cause: Vendors may use shared domains, subsidiaries, renamed entities, attachment names, or ERP master-data names that do not match the sender identity.

Resolution: Xelix combines domain, email text, attachment evidence, and master vendor data hierarchically, and refuses or falls back when identity remains unclear.

“we use these three data sources like the email domain and the text of the email and attachments in a kind of like almost hierarchical way”transcript, stated
“It could be as simple as that or it could be a subsidiary or sometimes there's just been a rename of a vendor.”transcript, stated

Outlook-like UX carried over Outlook-like failure modes.

Root cause: A familiar inbox lowered onboarding friction but encouraged users to treat the product like email, including folder-based loss and underuse of ticketing/AI fields.

Resolution: Xelix kept the familiar inbox view but added a ticket-centric view that foregrounded ticket fields, generated responses, filters, and AI-enriched data.

“problematic behaviors that users might have had in a system like Outlook. So think losing emails and folders and losing track of emails and that sort of thing were then brought over to our system”transcript, stated
“We pivoted. We we kept our inbox view or traditional view and we moved on to design a a display that really highlighted a lot of these ticket fields and AI enabled features”transcript, stated

Email threading creates state-management edge cases that are easy to dismiss until production.

Root cause: Vendors can reply months later on old threads, creating new issues inside existing email conversations and closed tickets.

Resolution: The system models threads and tickets separately, synchronizes with Outlook, and analyzes incoming emails to decide whether to map to an existing ticket or create a new one.

“One email thread might have several different tickets. And this is mostly done for cases for example when you receive an email from a vendor, you reply to the vendor and you resolve that query”transcript, stated
“when you sometimes think oh like surely this doesn't happen surely people don't do this it always happens there's always at least one case.”transcript, stated

Generating every eligible response wastes compute on tickets users will never open.

Root cause: Reminder and invoice categories still include low-value or spam-like messages, so category eligibility alone does not mean the user wants a draft.

Resolution: The team planned more targeted generation based on customer behavior and automatic closure signals.

“some are emails that our customers just don't care about. So like S said they might never even open a ticket and they might not care about something.”transcript, stated
“we want to be more targeted about knowing what our customers want to reply to and what they don't want to reply to.”transcript, stated

Daily-slice delivery can pressure production quality and release hygiene.

Root cause: Carpatio emphasizes production-ready daily increments while the development team and feature set are expanding quickly.

Resolution: The tech lead called out investment in feature flags, correct audience exposure, reliable release practices, and platform stability.

“what you're pushing out to production is quality code. How can you make sure that the correct people are seeing the correct things and the correct things are behind the future flag”transcript, stated
“we are really focusing our attention towards building those good practices and releasing in a reliable way and investing more in the stability of our platform.”transcript, stated

Evaluation

Xelix evaluates both AI correctness and product adoption: extraction quality, invoice-match confidence, coverage, response usage, edit distance, customer-level use, messages sent through help desk versus Outlook, handling time, stalled tickets, and automatic closure rates.

Metrics: invoice extraction quality · ML match confidence/probability · response confidence score · generated response usage · edit distance between generated and sent responses · messages sent through help desk versus other platforms · average ticket handling time · stalled tickets · automatic closure percentage

4 supporting quotes
“we basically use machine learning models there to to do this matching. So those models produce basically a probability.”transcript, stated
“how often are they being used, which customers are using them and we can also see how different the responses that they sent ended up being.”transcript, stated
“what's the handling of average handling time for tickets? and is this trending downwards as customers are picking up or adopting a lot of our AI features?”transcript, implied
“Another thing that we measure is like tickets that were just automatically closed.”transcript, stated

Outcomes

The source describes AP teams receiving more than 1,000 emails per day, manual analysis of roughly 250 emails per day during discovery, request categories around 20% of mailbox volume, and response-generation latency around 12 seconds.

3 supporting quotes
“this help desk automation cuts that process of downloading the statement, uploading it manually and it literally just streamlines it from receiving the email with the statement to clicking on the statement and seeing the results all done.”transcript, stated
“they do migrate over to the more robust display.”transcript, stated
“we actually released a beta version of help desk as part of the statements module.”transcript, stated