Payment Run with Hold Report

Overview
Runs the weekly vendor payment run in a SAP-style ERP and then accounts for every bill it refused to pay. Signs in with credentials read from the Robomotion Vault, proposes the bills due within seven days, confirms the run so a journal entry is posted per document, and verifies the posted summary against the proposal before going on. Then it opens the bills list, filters to the blocked bills, and reports each one with the reason it is on hold - a pending goods receipt, a quantity or price mismatch against the purchase order, or a missing PO reference. Writes a two-section CSV covering what was paid and what was held back, with the value held back totalled.
Payment Run with Hold Report
Every week someone in accounts payable pays the bills that are due, then explains to their manager which ones they held back and why. It is routine, it is repetitive, and it gets done at 5pm on a Friday when nobody is at their sharpest.
This flow does both halves. It proposes the bills due within the next seven days and confirms the run, which posts a journal entry for each bill and marks it paid. Then — the part that actually earns trust — it accounts for every bill it did not pay, each with the reason it is on hold.
It runs against RAP One, a fictional SAP-style ERP used for training. All data is synthetic.
What it produces
payment-run.csv in the Reports folder of your home directory, in two sections:
- Bills proposed for payment — the bills due within seven days, with the run total.
- Bills excluded from payment — the bills the run left out, each with its reason: a goods receipt not yet confirmed, a quantity or price mismatch against the purchase order, or a missing PO reference. The section ends with the total value held back.
A Log line closes the run with the counts, the run total and the value held back.
On the seeded ledger that is 4 bills proposed and 7 blocked.
How it works
1. Sign in from the Vault
RAP One uses a SAP-style login: username, password and a client number. The username and password are read from a Vault item, so no credential is stored in the flow itself. The session lives in memory only, so after signing in the robot navigates by clicking the menu, never by reloading a URL — a reload would drop it straight back to the login screen.
2. Propose and confirm
On the payment run screen the robot narrows to bills due within seven days, selects them and creates a proposal. Blocked bills never appear here — the ERP only offers payable ones — so the proposal is clean by construction. Confirming the run posts a payment journal entry for each bill and flips it to Paid.
The run does not take the confirmation on faith. A verify step re-reads the posted summary and raises if the document count or the total does not match the proposal it just approved.
In a real deployment this is where the human-approval gate goes: draft the proposal, email it for sign-off, and only confirm once approved. This training version confirms it directly so you can see the whole cycle.
3. Account for what was left out
The manager's first question is always why wasn't this one paid? So the robot opens the bills list, filters to Blocked, and reads each held bill with its reason. Three of them are genuine exceptions a buyer needs to resolve — a mismatched quantity, a mismatched price, a missing PO — and the rest are simply waiting on a goods receipt. If the blocked list ever spans more than one page the flow raises rather than silently reporting a partial picture.
4. Report
The Reports folder is created only if it is missing, then the CSV is written and the summary
logged. The proposal is the week's payment run; the blocked list is the exceptions to chase.
Running it
Before the first run, create a Vault item holding the RAP One username and password, and point the
Get RAP One Credentials node at it. The flow reads username and password from that item and
types the client number (100) itself.
The published training account is HTANAKA / client 100, which is not secret — but it goes in the
Vault here rather than in a Function node, which is where real system credentials belong.
More web automation templates
See all 18 →- Shipment Status ReportSigns in to a carrier portal and sweeps every page of the shipments list into one report, then narrows that sweep to the shipments that need a person. Reads the login from the Robomotion Vault, walks the pager with a Label and a GoTo until the Next control is disabled, and writes two CSVs: the full book, and an exceptions file covering customs holds, failed deliveries and delays, oldest booking first, with the billed value stuck in each one. Closes with a Log line carrying the counts and the total.
- Bank ReconciliationTakes the payments and receipts the ERP could not reconcile and confirms each one against the real bank statement. It pulls the ERP's flagged paid-bill exceptions and open invoices awaiting cash, then signs in to the bank, searches the operating account by reference and reads what actually settled - quantifying the four ways money and ledger drift apart: a missing payment, a transposed amount, a double payment and unapplied cash. Writes a reconciliation CSV. The story is evidence: the ledger raises the question, the bank statement answers it, and every discrepancy comes out with a number attached.
- Logistics Exception CenterBuilds one worklist of every active delivery exception from the carrier, then dedupes it against the systems that may already be handling it - the mailbox that was notified, and the help desk where a ticket may already exist. Joining the three on the tracking number tells the robot which exceptions were mailed, which already have a ticket, and which nobody has picked up yet. Writes a consolidated exception CSV. The story is consolidation: three systems each hold part of the picture, and the robot joins them so a stuck shipment is neither missed nor double-worked.
- Monday Morning BriefingOne robot, every system, the whole week's work on a single page. It signs in to the CRM, the mailbox, the ERP, the carrier and the help desk in turn, reads the one number that matters from each - duplicate contacts, invoices to post, ledger exceptions, stuck shipments and refund requests - and writes a consolidated briefing with a total across all five. The story is reach: the back-office queues a team would open one browser tab at a time, gathered into one report before anyone has had coffee.
- CRM Duplicate CleanupCleans up a CRM by merging duplicate contacts - the same person entered twice under name variants like Bob and Robert. Signs in, switches the contact list to its duplicates view, and merges the first remaining pair until none are left, keeping the primary record and folding each variant into it. Writes a before-and-after report. The "your CRM cleaned itself while you slept" demo.
- E-Invoice Portal HarvestDownloads every e-invoice for a tax period from a government portal and builds an index spreadsheet of what was collected. Signs in with a one-time code, walks the paged register until the portal says there are no more pages, then opens each document to read its government reference number and pull down both the XML and the PDF. Every download is gated behind a confirmation dialog and an "I am not a robot" checkbox.