Skip to content

AP Automation Applet

Check your suppliers’ e-invoices against what you ordered and received, and work the exceptions. Nothing here posts or creates a supplier balance, and nothing matches until the matching jobs are scheduled and your GRNs carry the supplier’s delivery-order number in Client Doc 3; the External Delivery Order field is never read.

Your job, and the screen for it

The jobScreen or tabRead
See which supplier e-invoices match what you received — nothing appears until the matching jobs are scheduled, and Peppol invoices are never matchedB2B vs E-invoice Summary: read Document Matching, Value Matching and Amount Difference togetherB2B vs E-invoice Summary; What this applet will not do today
Feed in a supplier’s PDF invoice by handOCR E-invoice › Create, one .pdf, ADD; Reprocess for a misread — nothing on the record can be editedOCR E-invoice
Work an invoice at UM — Document UM: fix the GRN or ask for a name alias; Value UM: settle with the supplier, as a GRN fixed after 30 days is not compared againPurchase GRN applet: the supplier’s DO number in Client Doc 3, not External Delivery Order; a supplier-name alias is a support change; for Value UM, Finance Remarks hereTroubleshooting
Mark a bill paid — only after the Payment Voucher has gone out, because the supplier sees it and a PAID row’s status control is then disabledB2B vs E-invoice Summary: open the row, Main Details › Payment Status, or APPROVE on several rowsB2B vs E-invoice Summary
Book and pay the bill — nothing in this applet postsPurchase Invoice (Internal) applet, created from the GRN; then a Payment VoucherWhat success looks like
Set it up so matching can happenAsk your BigLedger contact to schedule the four jobs; Client Doc 3 made editable in the Purchase GRN appletBefore you can use it

Overview

The AP Automation Applet is an accounts-payable reconciliation console, not a document applet. It answers one question for a finance team that buys from many suppliers: of the e-Invoices our suppliers have issued to us, which ones line up with what we ordered, what they delivered and what we received — and which do not?

It gets the supplier’s side from two feeds: e-Invoice PDFs — e-mailed to a mailbox connected to the tenant, or uploaded by hand — which are read by OCR into a structured record; and e-Invoices received over Peppol, which it lists but never matches. It gets your side from three ordinary documents: the Purchase Order, the supplier’s delivery note and your Purchase GRN — and of those three only the GRN is required. A background matcher ties the two sides together by the supplier’s delivery-order number as typed on your GRN and the supplier name, compares the e-Invoice amount with the receipt amount, and records a document matching status, a value matching status and the amount difference. Finance then works the exceptions from the B2B vs E-invoice Summary, records a payment status and remarks, and — through the AP Automation Supplier Access twin — lets each supplier see and annotate their own unmatched rows.

Nothing in this applet posts, moves stock or creates a supplier balance. It reads purchase documents and e-Invoices and writes its own tracking tables. The purchase invoice that books the liability is still raised in Purchase Invoice (Internal), and the payment is still a Payment Voucher. The payment status here is a label finance sets by hand; it is not read from, and does not write to, the payables ledger.
Read this before you plan any work around this applet. Two things decide whether it ever shows you a match, and neither is on these screens. The jobs have to be scheduled: the four processors that fill every summary run only from a Scheduler entry or when support triggers them, and nothing creates that entry for you. Your GRNs have to carry the supplier’s delivery-order number in Client Doc 3: that is the one number the matcher compares with the e-Invoice. It is not the GRN’s External Delivery Order field, which saves to a different column and is never read here. A supplier delivery note document is not needed: a GRN on its own creates its B2B Summary row, and the matcher never looks at a delivery note’s own number. See What this applet will not do today.

The window title is AP Automation Applet. Four of its screens are live; a payment-statement family (OCR of supplier payment statements, statement import, statement lines and a line report) is not on the menu in the current build. This page documents the live screens.

Two supplier invoices in one week at GadgetSphere Distribution

GadgetSphere Distribution (GSD) buys wireless audio from an authorised distributor and cables and cases from an accessory wholesaler. Both bills arrive in the same week, and the applet treats them very differently from what a clerk might expect.

The distributor’s e-invoice arrives as a PDF in the connected mailbox: invoice INV-88213, RM 18,550.00 including tax, quoting delivery order DO-55012. Your receiving clerk keyed the GRN on Tuesday with DO55012 in Client Doc 3. On the next matching run the OCR record is already there; the matcher finds no exact DO-55012, retries with the dash removed, finds the GRN’s row under a supplier name close enough to the e-invoice’s, and sums that GRN’s amount including tax: RM 18,550.00. The row on B2B vs E-invoice Summary reads Document Matching M, Value Matching M, Amount Difference 0.00.

The wholesaler’s paper invoice is scanned and uploaded on OCR E-invoice → Create. The reader does not check that a PDF is an e-invoice, so the scan is read exactly like one; its LHDN unique no simply stays empty. The invoice is RM 2,384.00 against a GRN of RM 2,348.00, so it lands at Document M, Value UM, Amount Difference 36.00. It is retried on every run for 30 days. After that it drops out of the queue and, because its document match is already M, nothing puts it back: a GRN corrected in week five never changes these figures.

What the clerk still does, for both. Book each bill in Purchase Invoice (Internal), created from the GRN, with the supplier’s invoice number as its Reference; settle it with a Payment Voucher; then come back here and set Payment Status to PAID. For the wholesaler, settle the RM 36.00 with them first and write the outcome in Finance Remarks. The applet tells you which bill is safe to book; it books neither.

Had the distributor sent the same invoice over Peppol, it would appear on B2B vs E-invoice Summary with Source PEPPOL and no matching status at all, and not on E-invoice Summary. That comparison is yours to make by eye. Had the wholesaler numbered its invoices SCN-0412, the letters CN inside the number would file it as a credit note, and it would never be matched.

Where it fits

PositionApplet / documentRelationship
ModulePurchasing, E-InvoiceAn AP control over supplier e-Invoices. It sits beside the purchase chain, not in it
Your side — readPurchase Order (Internal), Purchase GRN (Internal), and the supplier’s outbound delivery note (SUPPLIER_OUTBOUND_DELIVERY_NOTE, a document type that no applet screen creates — it arrives through the API)A scheduled job copies recently updated documents of these types into a queue, whatever their posting status; a processor folds each supplier delivery note and each GRN into one B2B Summary row, linking the PO by the number typed in the document’s Client Doc 2
Supplier’s side — readE-mailed e-Invoice PDFs (via the tenant’s connected mailbox), PDFs uploaded on OCR E-invoice, and documents received on MyPeppol Admin → From Peppol APEach becomes a tracking row with source EMAIL or PEPPOL. An EMAIL row is listed on E-invoice Summary (or Credit Note Summary) and matched; a PEPPOL row is never matched, carries no e-invoice code, and so is listed only on B2B vs E-invoice Summary
Master dataSupplierThe supplier entity behind every B2B row; the Consolidated Arap groups whose linked logins receive the matching report and see the supplier-access twin
Downstream — none—No document, journal, stock line or ARAP entry is written. Finance raises the purchase invoice and payment in their own applets
TwinAP Automation Supplier AccessThe supplier’s read-mostly view of the same tracking rows

Relationships with the rest of purchasing

Before it can work. Three things must exist, and none of them is on these screens: GRNs keyed with the supplier’s delivery-order number in Client Doc 3; Scheduler entries for the matching jobs (see Before you can use it); and a way for PDFs to arrive, either the connected mailbox or someone uploading them. Miss the first and every invoice sits at UM; miss the second and the summaries stay empty however many PDFs arrive.

What becomes possible. A checked list before anyone keys a purchase invoice: the bills whose amount equals what you received, and the short list that needs a phone call. Once a row reads M and M, you can create the purchase invoice from that GRN knowing the supplier billed what arrived. It also gives each supplier a window on its own rows through the supplier-access twin and the e-mailed matching report, so the supplier writes the explanation instead of you chasing it.

The matching it is often confused with. My E-Invoice Admin also pairs supplier e-invoices with your documents, but after the fact and for a different question: it pairs an e-invoice received over Peppol with a purchase document you have already finalised, so you can show that every bill you booked has the supplier’s validated e-invoice. This applet works before the purchase invoice exists, against your GRNs, and asks whether the supplier billed what you received. Use this one when you are deciding what to book and pay; use the admin one when you have to prove the e-invoice trail. The PDFs read here are not handed to the admin pairing, and Peppol invoices are matched only there.

What a mistake here breaks elsewhere. Nothing in the ledger, because nothing here posts. Three things do reach beyond this screen. Payment Status is visible to the supplier: set PAID before the payment voucher is out and the supplier reads that it has been paid. Making Client Doc 3 editable is a setting of the Purchase GRN applet, so it opens that box on the GRN screen for everyone who keys GRNs there, whatever the GRN is for. A GRN keyed with another GRN’s Client Doc 3 blocks the supplier’s e-invoice from matching at all until one of them is corrected.

What it is used alongside in practice. The Purchase GRN receiving habit, which feeds it; the Purchase Invoice created from the matched GRN, which it clears the way for; the Payment Voucher, after which Payment Status here is worth setting; and the Scheduler, without which none of it moves.

Screens and menus

MenuRouteWhat it isFilled by, and when it is empty
OCR E-invoiceocr-einvoiceE-invoice OCR Listing: every e-Invoice read by OCR, with Create (upload a PDF), Select All and ReprocessThe OCR reader, as soon as a PDF is uploaded or arrives by e-mail. The one screen that fills with no Scheduler entry
B2B Summary (default landing page)b2b-summaryOne row per GRN — joined to the supplier’s delivery note when one exists whose number is the GRN’s Client Doc 3 — with its purchase order and, once matched, its e-InvoiceThe B2B queue run and B2B processor. Empty until both are scheduled, and blind to GRNs last updated before the run’s look-back window
E-invoice Summaryeinvoice-summaryOne row per OCR-read supplier e-Invoice classed as an invoice (01), with its matching statusesThe matching queue run and matching processor. A Peppol reception never appears here: its row carries no e-invoice code
B2B vs E-invoice Summaryb2b-einvoice-summaryThe reconciliation grid: e-Invoice header beside the B2B rows it matched, amount difference, matching and payment status, supplier and finance remarks, action deadline. Bulk Payment Status updateBoth processors. The only screen that lists Peppol receptions; they show no matching status, and opening one adds a Peppol tab
Credit Note Summarycredite-note-summaryThe same as E-invoice Summary, filtered to e-Invoice type 02 (credit note)The matching processor, from OCR records the reader classed as credit notes. Hidden while HIDE_CREDIT_NOTE_SUMMARY is on, unless the user holds SHOW_CREDIT_NOTE_SUMMARY
Settingssettings/…Field Settings, Default Selection, Webhook, Client Side Permission, Permission Set / User / Team / Role PermissionAn administrator. Only Hide Credit Note Summary changes anything on the other screens (Applet settings)
Personalizationpersonalization/…Personal Default Selection, SidebarEach user. The defaults saved here are read by no listing or search in this applet

OCR E-invoice

The listing shows Supplier Name, E-invoice No, Transaction Date, Transaction Amount, Purchase Order No, Delivery Order No, Validation Date, LHDN unique no and Updated Date, with a general search (supplier name, supplier code or keyword) and an advanced search on supplier name, e-Invoice number, delivery-order number and e-Invoice date range. Rows are multi-select.

Create opens Upload E-invoice: a drag-and-drop zone that accepts one .pdf at a time and an ADD button, which uploads the file and queues it for OCR. Reprocess re-queues the selected rows through the same OCR reader; the toast reports Successfully processed N item(s) and M item(s) not found.

Opening a row shows View OCR E-Invoice with two tabs — Document Details (every field OCR extracted, read-only, including a Confidence Lvl) and Lines (Item Code, Item Name, Item Classification, Item Description, Qty, Unit Price Txn (Incl of Tax), Amount Txn, Amount Net, Discount Amount, Discount Rate, Amount Tax, Tax Rate). Nothing on either tab can be edited; a misread e-Invoice is corrected by reprocessing or re-uploading, not by typing.

How the reader decides what a PDF is. It does not test that the PDF is an e-invoice: a scanned paper invoice is read the same way and keeps an empty LHDN unique no, and nothing downstream rejects it for that. It files the record as a credit note (02) when it finds a credit-note number, or when the invoice number contains the letters CN anywhere; everything else is an invoice (01). A supplier whose numbering happens to contain those two letters has every invoice filed as a credit note, listed on Credit Note Summary and never matched. Confidence Lvl is the average of the reader’s confidence across the fields it extracted, so a low figure says something was hard to read, not which field; check the delivery-order number and the total first, because those two decide the match.

B2B Summary

Columns: Supplier Name, Supplier Code, Purchase Order No, Delivery Order No, Delivery Order Date, DO No. (From GRN), GRN No, GRN Date, GRN Amount, E-invoice No, E-invoice Date, E-invoice Amount. Opening a row shows three read-only tabs — Purchase Order, Delivery Order, GRN — each listing the linked document’s header. Advanced search is by supplier name only.

E-invoice Summary and Credit Note Summary

Columns: Supplier Name, E-invoice No, E-invoice Date, E-invoice Amount, Purchase Order No, Delivery Order No, Validation Datetime, LHDN unique no, Source. Source reads EMAIL here in practice: a Peppol reception carries no e-invoice code, so these two type-filtered screens never list it. Opening a row shows Main Details with the e-Invoice header read-only and two fields you can change — Payment Status (PENDING / PAID; locked once it is PAID) and Finance Remarks — plus a Save button. Action Deadline is shown beside them read-only: it is the supplier’s date, set in the supplier-access applet, and your Save does not write it. The two screens are the same view with the e-Invoice type filter set to 01 and 02 respectively.

B2B vs E-invoice Summary

The working screen. Each row is an e-Invoice header with the B2B rows it matched as lines. Columns prefixed B2B come from the matched delivery-note / GRN rows (supplier, PO, DO, DO No. (From GRN), GRN No, GRN Date, GRN Amount, E-invoice No); the rest come from the e-Invoice header — Supplier Name, E-invoice No, E-invoice Date, E-invoice Amount, Amount Difference, Purchase Order No, Delivery Order No, Document Matching (M when the header has at least one matched line, else UM), Value Matching, Supplier Remarks, Action Deadline, Finance Remarks, Payment Status.

Above the grid: Select All Displayed, Clear Selection, a Payment Status picker (PAID / PENDING) and APPROVE, which updates the selected rows in one go. Rows already PAID are skipped and counted in the toast. Advanced search: supplier name (a B2B and an e-Invoice supplier name separately), GRN date range and e-Invoice date range; the criteria switch between header and line supplier-name columns depending on which dates are set.

Opening a row shows four tabs: Main Details (the same two editable fields — Payment Status and Finance Remarks — with everything else, the supplier’s Action Deadline included, read-only) and read-only Purchase Order, Delivery Order and GRN tabs for the matched documents.

Configuration

Before you can use it

PrerequisiteWhereWhy
Suppliers exist, with their name as it appears on their e-InvoicesSupplierMatching compares the e-Invoice supplier name with the B2B row’s supplier name by trigram similarity (> 0.5, upper-cased). A supplier whose legal name on the e-Invoice differs from your master record will never match without an alias (below)
Purchase orders raised as FINAL documents, with the PO number in the order’s own Client Doc 1Purchase Order (Internal)The B2B processor links a PO to a delivery note or GRN only when the PO’s Client Doc 1 equals the number in that document’s Client Doc 2, for the same supplier, and exactly one PO matches
Optional: supplier delivery notes as SUPPLIER_OUTBOUND_DELIVERY_NOTE documents with the DO number in Client Doc 1 and the PO number in Client Doc 2Through the API — no applet screen creates this typeThese are the “XDO” in the B2B row and fill its Delivery Order tab. Matching does not need them: the matcher compares the e-Invoice with the GRN’s Client Doc 3, never with the delivery note’s own number
GRNs with the GRN number in Client Doc 1, the PO number in Client Doc 2 and the supplier’s DO number in Client Doc 3Purchase GRN (Internal)Client Doc 3 is the matching key. (What the client columns are — this meaning is local to AP automation.) The e-Invoice’s delivery-order number is compared with the GRN’s Client Doc 3 (upper-cased and trimmed, then retried with a DO or DO- prefix taken off or added, with leading zeros stripped, and with dashes removed). A GRN keyed without it can never match. Client Doc 3 is not the External Delivery Order box on the GRN’s main details: that box saves to a different column, and a DO number typed only there never matches
A mailbox connected through the platform’s e-mail channel, or people who upload PDFsOutside this appletThe OCR processor is fed by a task on an e-mail thread (PDF attachments, including those sent as application/octet-stream) or by the Create upload
Peppol reception, if suppliers send over PeppolMyPeppol AdminDocuments received From Peppol AP are the second feed
The four background processors scheduled on the tenantTenant job templates (support)XTN_EINVOICE_MATCHING_QUEUE_PROCESSOR, XTN_EINVOICE_MATCHING_PROCESSOR, IPO_XDO_IGRN_QUEUE_PROCESSOR and IPO_XDO_IGRN_PROCESSOR do all the work; the screens only read. Support can also trigger each on demand
Consolidated Arap groups with logins linked, if the matching report should be e-mailed to suppliers or suppliers should see their rowsSupplier → Consolidated ArapThe matcher stamps each e-Invoice row with the group whose account name is > 0.8 similar to the e-Invoice supplier name (upper-cased), or whose account code appears inside that name — one match only. The report processor addresses every login linked to the group; a group with no linked logins gets no e-mail and the run is skipped. A row that matched no group is never visible to any supplier

Applet settings

Settings live in the applet’s own Field Settings and Default Selection screens. Administrators with access to the Settings menu change them; the values are stored as the applet’s master settings.

Field Settings — one control:

SettingWhat it controlsDefaultEffect when changed
Hide Credit Note Summary (HIDE_CREDIT_NOTE_SUMMARY, slide toggle)Whether the Credit Note Summary menu entry is shownOff (menu shown)On removes the entry for everyone except users holding the SHOW_CREDIT_NOTE_SUMMARY client-side permission

Default Selection — DEFAULT_BRANCH, DEFAULT_LOCATION, DEFAULT_COMPANY, The default time zone. Declared, rendered (a branch picker that also fills company and the branch’s main location) and saved — but no listing or search screen in this applet reads them; the only consumer is the Personalization mirror of the same four keys. Setting them changes nothing visible today.

Document behaviour settings

Not applicable — the applet creates no generic document and has no posting, printable or workflow settings.

Settings in other applets, and configuration with no screen

SettingWhere it is setEffect here
Supplier name aliases — tenant configuration EINVOICE_MATCHING_SUPPLIER_NAME_ALIAS: groups of names that count as the same supplierTenant configuration; no screen in any applet — a support changeWhen an e-Invoice supplier name finds no B2B row, every other name in its alias group is tried in turn. The way to match a supplier who invoices under a different legal name from the one on your delivery notes
Consolidated Arap groups and their loginsSupplier → Consolidated ArapDecide who receives the E-Invoice vs B2B Matching Report e-mail and what the supplier-access twin shows
The company’s Peppol receptionMyPeppol AdminWhether the PEPPOL feed exists

Who can change what

Client-side. The applet checks one permission, SHOW_CREDIT_NOTE_SUMMARY — but no client-side permission is registered for this applet, so the Client Side Permission screen has nothing to assign and HIDE_CREDIT_NOTE_SUMMARY is all-or-nothing until it is added.

Server-side. Reading the summaries needs the read permission on process-tracking e-Invoice and process-tracking IPO/XDO/IGRN records (API_TNT_DM_PROCESS_TRACKING_EINVOICE_*, API_TNT_DM_PROCESS_TRACKING_IPO_XDO_IGRN_*); saving remarks or payment status needs the corresponding update permission. Uploading or reprocessing an e-Invoice PDF needs API_TNT_DM_EINVOICE_EMAIL_OCR_DOC_CREATE. The Permission Wizard, Set, User, Team and Role screens are the shared ones.

Fields

OCR E-invoice → Document Details (read-only)

GroupFields
DocumentE-Invoice Code, E-Invoice Type, document reference number, Transaction Date, Currency, Payment Mode, Billing Frequency, Billing Period, Purchase Order No, Delivery Order No, Confidence Lvl, Email
LHDN validationLHDN unique no, Validation Date, Validation URL
SupplierSupplier Name, registration number, Supplier ID No, Supplier Tax ID (TIN), Supplier SST ID, Supplier Sales Service Tax ID, Supplier MSIC Code, Supplier Business Activity Description, Supplier Contact No, Supplier Email, address
BuyerBuyer Name, Buyer ID No, Buyer Tax ID, Buyer Sales Service Tax ID, Buyer Contact No, Buyer Email, address

Every field is populated by OCR analysis of the PDF, with the LHDN unique number and validation date parsed out of the e-Invoice information block. The record also notes whether it is an ordinary supplier e-Invoice or an e-commerce one.

E-invoice Summary / Credit Note Summary / B2B vs E-invoice Summary → Main Details

FieldMeaningEditableNotes
Supplier Name, E-invoice No, E-invoice Date, E-invoice Amount, Delivery Order No, Validation Datetime, LHDN unique no, SourceCopied from the OCR record or the Peppol document by the matcherNoSource is EMAIL or PEPPOL
Document Matching StatusM / UMNoSet by the matcher, and M as soon as one of the e-Invoice’s delivery-order numbers finds a GRN row — an invoice quoting three DOs with only one GRN keyed still shows M. Read it beside Value Matching and Amount Difference, never alone
Value Matching StatusM / UMNoM only when document matching is M and the e-Invoice amount equals the sum of the matched GRN amounts exactly — there is no tolerance
Supplier RemarksFree textNo (here)Written by the supplier in the supplier-access twin, which also shows the supplier your Payment Status (read-only to them) — so marking a row PAID is something the supplier can see. The matching report e-mail carries Supplier Remarks too
Payment StatusPENDING / PAIDYes, until PAIDOnce saved as PAID the control is disabled; the bulk APPROVE also skips PAID rows. Filterable, with no behaviour keying off it — the only thing that reads it is the listing filter; nothing posts, pays or reconciles on the strength of it
Finance RemarksFree textYesInternal to you: the supplier-access twin has no Finance Remarks field or column and the matching report leaves it out, so the supplier never sees it. Write here what your own team needs; anything the supplier must act on has to reach them some other way
Action DeadlineDateNo (here)The supplier’s date, set in the supplier-access twin; shown read-only on both of the buyer’s edit screens

Lifecycle and effects

This applet owns no generic document, so there is no DRAFT / FINAL / VOID. What it has is a pipeline of four scheduled processors that populate its tables, and two fields your finance team writes.

    flowchart LR
  subgraph SUP["Supplier's side"]
    MAIL["E-mailed PDF<br/>(connected mailbox task)"] --> OCR["OCR reader →<br/>OCR e-Invoice record"]
    UP["Uploaded PDF<br/>(OCR E-invoice → Create)"] --> OCR
    PPL["Received over Peppol"]
  end
  OCR --> Q1["Matching queue run<br/>last hour's new or updated records →<br/>matching queue"]
  PPL --> Q1
  subgraph YOU["Your side"]
    PO["Purchase Order · FINAL"]
    XDO["Supplier delivery note<br/>SUPPLIER_OUTBOUND_DELIVERY_NOTE"]
    GRN["Purchase GRN<br/>Client Doc 3 = supplier's DO no"]
  end
  XDO --> Q2["B2B queue run<br/>last hour's updated documents →<br/>B2B queue"]
  GRN --> Q2
  Q2 --> B2B["B2B processor →<br/>B2B Summary row,<br/>PO linked by Client Doc 2"]
  PO -.-> B2B
  Q1 --> M["Matching processor →<br/>E-invoice Summary row"]
  B2B --> M
  M --> R["B2B vs E-invoice Summary<br/>document M/UM · value M/UM · amount difference"]
  R --> REP["Report run<br/>Excel report e-mailed to the<br/>Consolidated Arap group's logins"]
  

Your side, step by step. The B2B queue run (or its monthly variant, which uses the transaction date instead) scans generic documents of type SUPPLIER_OUTBOUND_DELIVERY_NOTE and INTERNAL_PURCHASE_GOODS_RECEIVED_NOTE updated in the window (the last hour by default), plus deleted ones, and writes or refreshes one queue row per document with its five client document numbers, supplier entity and amount. The B2B processor then folds each queue row into a B2B Summary row: a delivery note creates or updates the row keyed by its own header; a GRN updates the row for its header, or — failing that — the row whose delivery-note number equals the GRN’s Client Doc 3, or creates a new row of its own. So a GRN needs no delivery note to appear here or to be matched. On creation the supplier’s code and name are copied from the entity, and the PO is linked when the document’s Client Doc 2 equals exactly one FINAL purchase order’s Client Doc 1 for that supplier; zero or several matches are logged and the row proceeds without a PO. Deleted documents mark the queue row inactive. The queue row is deleted once processed.

Supplier’s side, step by step. The matching queue run scans OCR records and Peppol documents updated in the window and writes one matching-queue row per document, de-duplicated by supplier name and document number. The matching processor takes each queue row and creates or updates the E-invoice Summary row (looking first by OCR header, then by supplier name with similarity > 0.5 and the same document number), copying every header field and recording the source. For a Peppol document that is the end of processing: its queue row is deleted, it is never matched, and because its row carries no e-invoice code it is listed only on B2B vs E-invoice Summary. For an OCR document it then tries to match:

  1. Only e-Invoice code 01 (invoice) is matched. Any other type — credit note 02, debit note 03, refund note 04 — has its queue row deleted immediately and is never matched or valued. A credit note still appears on the Credit Note Summary; a debit note or refund note appears on neither summary, because one lists only type 01 and the other only 02.
  2. The e-Invoice’s Delivery Order No is split on commas. For each number the processor looks for a B2B row whose supplier name is similar (> 0.5) and whose DO No. (From GRN) — the GRN’s Client Doc 3 — equals the number, upper-cased and trimmed; it then retries with a DO or DO- prefix taken off or added, with leading zeros stripped from either side, and with dashes removed. The delivery note’s own number is never compared. If the name finds nothing, each alias in the tenant’s alias configuration is tried. More than one candidate row throws and the queue row is left for the next run.
  3. Each matched B2B row is stamped with the e-Invoice’s number, amount, date and validation time; Document Matching becomes M. The matched rows’ GRN amounts (including tax) are summed.
  4. Amount Difference = e-Invoice amount − summed GRN amount. Value Matching is M only if the document status is M and the difference is exactly zero.
  5. On an exact value match a row is written to the matched-history table per B2B row and the queue row is deleted. On any other outcome the queue row is stamped with the attempt time and stays in the queue — the next run tries again, which is how a GRN keyed after the e-Invoice arrived is picked up. The retry has limits. A queue row older than 30 days is dropped at the start of a run; one whose document match is still UM (or never set) is re-queued straight away, for e-Invoices dated within the last six months, but one at document M and value UM is not, so its Amount Difference is frozen from then on.

No e-Invoice without a delivery-order number can ever match; a supplier who invoices against the PO number only will sit at UM indefinitely.

The report. The report run builds, per Consolidated Arap group and date window, an Excel file E-Invoice vs B2B Matching Report.xlsx from the B2B vs E-invoice query and e-mails it to the main e-mail of every login linked to that group, with a fixed body asking the supplier to update remarks and action deadlines in the supplier-access applet. It runs from a schedule or on demand by support. A group with no linked logins is skipped with a warning.

What a person writes. Payment Status and Finance Remarks on the summary screens, singly or — for payment status — in bulk. Supplier Remarks and Action Deadline are written by the supplier in the supplier-access applet and are read-only here. Nothing else reads any of the four.

Posting proof. Server document type: none — this is not a generic document. Amount signum / quantity signum: not applicable. Dr / Cr equation: none — nothing here posts a journal. Stock processor: none. VOID: none — rows are updated in place by the processors, and the OCR record is re-read by Reprocess.

What this applet will not do today

Everything above describes code that exists and works. None of it is running anywhere we can see, and one link in the chain has no supply at all. Four different facts get confused with each other, so here are all four, separately.

Shipped. Yes. Both applets and the processing behind them are part of the shared platform, not gated to any tenant.

Registered. Yes. Both applets are active in the applet registry and every processor is registered. They are product — built for one customer first, and meant for any tenant that can get supplier e-Invoices into BigLedger and key GRNs with the supplier’s delivery-order number.

Scheduled. Not by anything the platform does for you. The four processors that do all the work (XTN_EINVOICE_MATCHING_QUEUE_PROCESSOR, XTN_EINVOICE_MATCHING_PROCESSOR, IPO_XDO_IGRN_QUEUE_PROCESSOR, IPO_XDO_IGRN_PROCESSOR), the monthly variant, the report processor and the three payment-statement processors are none of them scheduled by default, so each needs a Scheduler entry created before anything on these screens moves on its own. Nothing sweeps them up: unlike the OCR reader, which is queued on demand when a PDF is uploaded or arrives by e-mail, these four fire only from a schedule or when support triggers them. A tenant that switches the applet on and waits will wait for ever. Ask your BigLedger contact to add the job rows — do not read the screens as evidence that anything is running.

Running. Not that we can see. The OCR reader has been used; the matching that fills the E-invoice Summary and the B2B Summary — the rows every other screen on this page is about — has not run anywhere.

What you need, and what you do not. You do not need supplier delivery notes as documents. That type (SUPPLIER_OUTBOUND_DELIVERY_NOTE) can only arrive through the API, from an integration built for you, but the matcher does not depend on it: a GRN creates its own B2B Summary row, and the e-Invoice is matched against the GRN’s Client Doc 3. A delivery note, where an integration supplies one, only fills the row’s Delivery Order tab.

Peppol invoices are listed, not matched. A supplier who moves from e-mailed PDFs to Peppol drops out of the matching here, with no message; pair those bills on My E-Invoice Admin instead, or compare them with the GRN by eye.

What that means for you, concretely. The work to make this applet useful is a scheduling request plus a receiving habit: ask your BigLedger contact to schedule the four jobs, and have whoever keys GRNs put the supplier’s delivery-order number in Client Doc 3 — not in External Delivery Order. On the GRN screen Client Doc 3 is read-only until an administrator turns on EDITABLE_CLIENT_DOC_3 (and hidden while HIDE_CLIENT_DOC_3 is on), so that setting comes first. Then check the supplier names on their e-Invoices against your supplier records, and ask for an alias where they differ. A GRN keyed without the number has nothing to match on, and the queue only looks back over recently updated documents. Neither half is something the applet does for you.

What success looks like

Thirty seconds, once a week, on one supplier you received goods from:

  1. Open B2B vs E-invoice Summary and search that supplier. Each of last week’s invoices shows Document Matching M, Value Matching M and an Amount Difference of 0.00, and its GRN tab names the GRN you received against.
  2. In Purchase Invoice (Internal), search the supplier’s invoice number in Reference: exactly one invoice, FINAL, created from that GRN, with a total equal to the E-invoice Amount here.
  3. Payment Status here reads PAID only for the bills a Payment Voucher has settled.

If step 1 shows nothing newer than a day or two, the matching is not running on your tenant (see What this applet will not do today). If step 2 finds a purchase invoice whose row here still reads UM, the bill was booked before the difference was settled: that is the row to raise with the supplier today.

Related applets

  • AP Automation Supplier Access — the supplier’s window on the same rows; where Supplier Remarks come from.
  • Supplier — the entity whose name is matched, and the Consolidated Arap groups that decide who receives the report.
  • Purchase Order (Internal) — linked into a B2B row by its Client Doc 1.
  • Purchase GRN (Internal) — the document whose Client Doc 3 is the matching key and whose amount is the value compared.
  • Purchase Invoice (Internal) — where the supplier’s bill is actually booked; this applet neither creates nor reads it.
  • MyPeppol Admin — the From Peppol AP receptions that form the second feed, listed here but matched only on My E-Invoice Admin.
  • My E-Invoice Admin — the other supplier-invoice pairing: Peppol e-invoices against purchase documents you have already finalised. Choose it to prove the e-invoice trail; choose this applet to decide what to book.
  • Payment Voucher — where the bill is actually paid; set Payment Status here only after it has gone out, because the supplier can see it.
  • MY E-Invoice Portal — the tenant’s own outgoing and self-billed e-Invoices; a different subsystem from the incoming OCR records read here.

Troubleshooting

SymptomCauseFix
An e-Invoice stays UM although the goods were receivedThe GRN’s Client Doc 3 is empty or differs from the DO number printed on the e-Invoice — often because the number was typed in External Delivery Order insteadKey the supplier’s DO number in the GRN’s Client Doc 3; the queue row is retried on the next run
An e-Invoice stays UM and the supplier’s name on it differs from your master recordTrigram similarity ≤ 0.5 between the two names, and no alias configuredAsk support to add the pair to the EINVOICE_MATCHING_SUPPLIER_NAME_ALIAS configuration; there is no screen for it
Document M but value UM, with a small Amount DifferenceThe e-Invoice total and the summed GRN amounts differ by any amount — rounding, tax treatment, a partial delivery invoiced in fullExpected: there is no tolerance. Resolve with the supplier; record it in Finance Remarks. A GRN corrected more than 30 days after the e-Invoice was first queued is not compared again
An ordinary invoice appears on Credit Note Summary and never matchesIts number contains the letters CN, which the reader takes as a credit noteExpected today. Compare it with its GRN by eye; the supplier’s numbering decides it
A supplier’s Peppol invoices are missing from E-invoice SummaryPeppol receptions carry no e-invoice code and are never matchedFind them on B2B vs E-invoice Summary (Source PEPPOL), or pair them on My E-Invoice Admin
A credit note never gets a matching statusOnly e-Invoice code 01 is matched; other types have their queue rows deletedExpected. Use the Credit Note Summary as a listing only
The e-Invoice lists several DO numbers and only some matchedNumbers are split on commas and matched individually; the value comparison sums only the rows foundCheck the DO numbers that did not match against the GRNs’ Client Doc 3
A processor log shows Multiple matching records foundTwo B2B rows share a similar supplier name and the same DO No. (From GRN) — usually two GRNs keyed with the same Client Doc 3Correct the duplicate GRN; the queue row is retried next run
B2B Summary row has no Purchase Order NoThe delivery note’s or GRN’s Client Doc 2 matched zero or more than one FINAL PO for that supplierMake the PO number in Client Doc 2 match exactly one order’s Client Doc 1
Nothing new appears in any summaryThe scheduled processors are not running on the tenantHave support check the Scheduler entries, or trigger the runs by hand
Reprocess reports N item(s) not foundA selected OCR record no longer existsRefresh the listing
Upload rejects the fileThe picker accepts a single .pdf onlyConvert or split the file
The matching report was not e-mailedThe Consolidated Arap group has no linked logins with a main e-mailLink the supplier’s login on the Supplier applet’s Consolidated Arap screen
B2B vs E-invoice advanced search returns nothing after choosing a dateThe criteria switch between header and line supplier-name columns by which dates are set; a mismatch returns an empty page (fixed April 2026)Search by supplier name alone, or update the applet
Credit Note Summary hidden for everyone including administratorsHIDE_CREDIT_NOTE_SUMMARY is on and SHOW_CREDIT_NOTE_SUMMARY cannot be granted because no client-side permission is registered for this appletSwitch the setting off; there is no per-user exception until it is
Payment Status cannot be changed on a rowIt is already PAID; the control is disabled and the bulk update skips itExpected. There is no un-pay from the screen

Related documentation

Last updated on