Working the queue

If you open one screen every morning, it is this one. Inbox and Review Queue draw the same table with the same toolbar, so everything on this page works on both — with one difference that decides how much you can trust what you are looking at, and it is the first thing to learn.

On the Inbox, the filters go to the server and cover every invoice in the workspace. On the Review Queue they narrow the rows already loaded on screen. The Review Queue is one fixed question — everything in needs_review — and the toolbar then trims what came back. The screen says so in a line under the controls whenever a filter is on, so you never have to remember which screen you are on.

The Inbox with the view chips, the filter row and the count beside the Export button.
The toolbar is three rows: the view chips, the filters, and the sentence that says what the filters reached.

Before you start

  • Some invoices in the workspace. An Inbox with nothing in it at all shows a first-run panel instead of the table, and an empty Review Queue says so rather than drawing one.
  • Every role that has these two screens can use everything on this page. The views, the filters, the order, the link and the CSV only read invoices; they change nothing. (A Viewer — the outside approver role — sees a different, single-screen shell and never reaches these queues at all. See roles and permissions.)
  • Two things here do change an invoice: Send to approval and the A key. Both refuse anything that is not in New or Needs review, and both say how many rows they skipped.
  • Your saved views are your own. Nobody else in the workspace sees them, so nothing on this page is a shared setting you can get wrong for a colleague.

1. Start from a built-in view

The chips above the table are the queue's six built-in views. A chip is a filter, not a saved list: pressing it writes the filter into the address bar, pressing it again clears it, and the browser's back button undoes it.

ViewWhat it filters toWhere it is offered
Needs reviewStatus needs_review — everything the pipeline would not code on its own.Both queues
Low confidenceExtraction confidence below the 0.7 review threshold.Both queues
Over $10kInvoices of $10,000 or more, matched on the amount the server holds.Both queues
Failed exportsStatus failed_export — refused by the ledger and waiting for a retry.Both queues
QuarantinedStatus quarantined — held by a rule for an admin to look at.Both queues
Not checked by anyoneInvoices nobody has corrected, coded or split. The extractor and your rules did all of it.Inbox only

The last one is the odd one, and the reason is worth knowing. "Checked" means a person edited a material field or touched the allocations, which is a question only the server can answer — a row in the table carries no record of who has been through the invoice. So the chip is offered on the Inbox, where the toolbar reaches the server, and is hidden on the Review Queue rather than shown as a control that would filter nothing.

It is also not an exception queue. Nothing in it is known to be wrong. It is the work automation did unsupervised, gathered so you can read a sample of it early and decide how much to trust the rules you wrote.

2. Narrow it with the filters

The filter row is eight controls on the Inbox and seven on the Review Queue, where Status is left out because that queue's status is already fixed.

ControlMatches on
SearchOn the Inbox: the vendor, the invoice number and the subject the email arrived under. On the Review Queue: the vendor, the invoice number and the property. Never the amount.
StatusOne status at a time, from New and Held through to Quarantined. Inbox only.
PropertyOne property.
VendorOne vendor.
ConfidenceBelow 70%, or below 90%. There is no "above" option, because the API has no such comparison.
Min $ / Max $The extracted total.
Date rangeLast 7, 30 or 90 days, year to date, or two dates you type.

Two things about the date range are easy to get wrong. The shortcuts write the two absolute days they mean, so a link you send says what it said when you sent it rather than shifting overnight. And the days are compared against when the document arrived in inletAP, not against the email's own timestamp in the Received column. For an emailed invoice those are minutes apart; for an upload they are the same.

Every filter is in the address bar, in the same spelling the API reads. That is what makes step 5 and step 6 possible at all: a queue here is a URL, never a hidden setting.

3. Choose the order

The Sort control offers six orderings, and the server applies them over every matching invoice rather than over the rows on screen:

  • Last activity, newest or oldest first. Oldest first is "nobody has looked at this in longest", because the timestamp moves whenever anyone touches the invoice.
  • Added, newest or oldest first — when inletAP created the document, which is the same clock the date filter uses.
  • Pipeline stage, earliest or latest first. That is the order of the statuses themselves, not A to Z.

Only the Status header can be clicked. The other eight headers are not buttons, and a line under the controls says why: the vendor, property and assignee live on other tables, and the amount, invoice number and due date are extracted fields rather than columns, so none of them can be paged against.

The queue loads 100 rows at a time. Load more extends the list rather than replacing it, which is deliberate — your selection, the keyboard cursor and your place on the page all survive it. Under the button, the screen says how many of how many are loaded, and once you have paged at least once it tells you when the list is complete.

4. Read a document without leaving the list

Hover a row on a full-width screen and a Preview button appears at its right-hand end. It opens a drawer with the first page of the document drawn, the status, the confidence, the page count, the extracted amounts and dates, the property with its photo, and the line items that were read.

The drawer carries Send to approval, and it is disabled unless the first page is actually on screen. That is the point of it: some documents have no page we can draw here — a workbook, a conversion that has not finished — and an approval control over an empty box is how an invoice gets moved down the pipeline by somebody who believes they looked at it. When the page cannot be drawn, the drawer sends you to full review instead.

There is no Preview button on a phone. Below the desktop breakpoint the queue is a card list, and the vendor name on each card opens the invoice itself.

5. Save the queue as your own view

Once the filters and the order are what you want every morning, press Save current view. The dialog suggests a name from the filters, shows you what is about to be saved in words, and tells you if a view you already have holds exactly the same thing.

What gets stored is the query string — the filters and the order, nothing else. So a saved view is the same link you could have pasted, kept under a name. It is stored against your account rather than in this browser, so it is there on your next machine and after you sign out.

Four limits, stated rather than discovered:

  • A saved view is yours alone. Nobody else in the workspace sees it. There is no route that edits somebody else's views.
  • Twenty views, and names of up to 60 characters. The dialog says so before a save fails, not after.
  • A view is a bookmark, not a permission. Opening one is still an ordinary query with your own property scope applied, so a view naming a building you may not see returns you nothing.
  • A view that filters on "not checked by anyone" only works on the Inbox. On the Review Queue it is left out of the chip row, and the screen names it and says where it does work.

Manage saved views renames, reorders and deletes. It edits a draft and writes once, so Cancel is a real undo and the footer says as much: nothing is saved until you press Save changes. The order in that dialog is the order the chips appear in.

6. Hand the queue to somebody else

Copy link to this queue copies the address bar. It is enabled only once a filter is set, because the unfiltered queue's URL is the one in the sidebar and copying that would promise something it does not carry.

The person you send it to opens the same filters, the same order and the same list, with the toolbar showing what was applied. A link is how you hand a queue to a colleague; a saved view is only ever your own. That is why both controls exist side by side.

If a link names a property or a vendor this workspace does not have — a building that was deleted since — the dropdown says so in words rather than filtering the table down to nothing while claiming "All properties".

7. Take the rows to a spreadsheet

Export writes a CSV of the rows on screen with nine columns: Received, Vendor, Invoice #, Due, Amount, Property, Status, Confidence, Assignee. The file is named inletap-invoices- and today's date.

Two honest limits. It is the rows on screen, not every invoice the filters match, so if the count beside the button says 100 of 380 loaded, you get the 100 — press Load more first. And a row nothing has been read off yet, including one held against the Free plan limit, has an empty Amount and an empty Confidence rather than 0.00 and 0%. A spreadsheet sums and averages what it is given, and a zero there would be a claim about money nobody has measured.

8. Work it from the keyboard

Press J or click a row to start. The row takes focus, and from then on the list has the keys.

KeyWhat it does
J or Move to the next row.
K or Move to the previous row.
XSelect or deselect the row you are on.
EnterOpen the invoice you are on.
ASend the selection to approval — or the row you are on, when nothing is selected.
EscLeave the list, and give the keys back to the rest of the screen.

Three rules make this safe to use rather than something to switch off. No bare key does anything while you are typing in a box or a dropdown. No key with Command, Control or Alt held is taken, so your browser's own shortcuts still work. And every key has a button: X is the checkbox, Enter is the vendor link, A is the Send to approval button above the table.

Esc matters more than it looks on the Review Queue, because the Second Look cards on that screen bind A as well. The list takes the key only while you are actually moving through it, and Esc is how you hand it back.

The Review Queue, with the Second Look cards above a table whose toolbar narrows only the rows already loaded.
The Review Queue is one fixed question - everything in needs_review - and the toolbar trims what came back rather than asking again.

The legend is printed beside the controls on a wide screen and hidden on a phone, where there is no J to press. The keys stay bound at that width, so a phone with a keyboard behaves like a laptop.

What you should be looking at

One chip lit, the filters showing exactly what that chip set, a sentence under the controls telling you whether those filters reached the workspace or only the loaded rows, and a count reading something like 42 rows · $61,204. If you saved the view, its name is a chip with a tick beside it.

Check it worked

Four checks, and none of them needs anything outside this screen:

  • The URL is the queue. Every filter and the order are in the address bar. If the toolbar shows a filter the URL does not, or the reverse, you are looking at a defect and not a feature.
  • The count names its own population. 42 rows · $61,204 means the money is summed over the 42 rows on screen. Where the loaded rows and the matching rows differ, the sentence says which is which, and it never quietly totals a page while naming the workspace.
  • A saved view survives a reload. Refresh the page, or sign in on another machine, and the chip is still there with the same filters behind it. If it is not, it was not saved.
  • A copied link opens the same list. Paste it in a new tab. The chips, the filters and the order all come back from the URL, so what your colleague sees is what you were describing.

Where to go next