Product work · Enterprise delivery

Faster generation without losing financial control

Japan’s Invoice Summary took 74 minutes to run and almost all of it went to one step. The obvious fix would have cost finance users the evidence they rely on.

Role
Lead designer, Japan localization
When
2022–2025 · Oracle NetSuite
Context
Japan’s Qualified Invoice System · October 2023
Impact
Average generation time 8m 21s → 39s, with traceability intact

Overview

In Japan it is common for companies to invoice customers and handle incoming payments through shimeseikyu, a billing practice unique to the country. A Japan invoice summary is the document that practice produces: a consolidated bill grouping multiple transactions — invoices, sales orders, credit memos — for a single customer over one billing cycle, typically a month. NetSuite’s Japan Invoice Summary was an essential but legacy workflow: a long process, with real uncertainty about how to review, consolidate and verify the result.

How an invoice summary is produced in NetSuite: the Generate Invoice Summary screen where criteria are set, the Invoice Summary Generation Status screen showing the batch job queued, and the resulting consolidated PDF listing a parent company and its subsidiary with their transactions, totals and tax.

Set the criteria, wait for the batch job, and the result is one consolidated PDF per customer — every transaction for the period on a single document.

What “slow” actually meant

The top issue was the wait, and customers had been reporting it for years. The product’s answer was a banner: the process may take some time, and you will be notified by email once generation is complete.

The delay came from building the links between an invoice summary and its transactions. The system also enforces an exclusive rule — a transaction can belong to only one invoice summary, which is what prevents duplicate invoicing. The side effect was punishing: any change after generation meant deleting the summary and sitting through the entire wait again.

So we measured it. Generating five invoice summaries, one per customer across 300 transactions, took 74 minutes.

And that was five customers. We could not imagine what month-end looked like for a business with hundreds of them.

A different question

Generation was slow because the system updated every individual transaction to create the linkage between it and its summary. To engineering this was a performance problem: months of work to make the linking faster.

I asked something else, framed as a testable hypothesis: do users actually need a link between an invoice summary and its individual transactions? And if the link turned out to matter for reconciliation, a second hypothesis followed: the linkage serves reconciliation, not preview — nobody inspects the links themselves. If that held, the linking did not have to be built while someone sat watching a progress bar.

Diagram of the data relationship: one invoice summary record connected to each of the individual invoice transactions it consolidates for that customer and period.

A link is created between the invoice summary and each of the invoices inside it.

Research: understand the workflow before changing it

To learn how Japanese customers actually manage invoice summaries — and to assess the impact of the tax rule arriving in October 2023 — I ran four online interviews, two in English and two in Japanese, each with one Japan customer or partner. Four insights came out of them:

I then led a hypothesis-led journey-map workshop with Japan Professional Services partners. It showed that creating and managing invoice summaries was a fragmented, highly manual experience. Users moved across configuring invoice preferences, generating summaries, validating information, sending documents, archiving records and reconciling payments — relying on manual checks and workarounds throughout. The hardest parts were understanding how configuration settings affected the final invoice, making sure every relevant transaction was included, recovering from errors, and tracing a consolidated summary back to its individual invoices.

The Invoice Summary journey map: two personas — a mid-level accountant and a system administrator — mapped across seven phases from configuration and day-to-day invoicing through generating the summary, checking and recovering from errors, sending to the customer, archiving, and payment, with behaviours, pain points and opportunities under each phase.

The journey map, built with the Japan Professional Services team.

The interviews that changed the answer

The workshop was followed by finance-expert interviews, and they challenged my first assumption directly. Finance users told us they do review individual transactions — to reconcile totals, confirm dates, identify omissions, and catch changes made after generation. They confirmed the value of the rule that a transaction belongs to exactly one invoice summary.

That reframed the problem. The link was not disposable. It needed a more efficient workflow.

From insight to design direction

1. Redesign the flow

The goal was never to hide the processing time. It was to remove an unnecessary dependency from the user’s path. Verification moves to the front, where it can prevent a wasted run; linking moves to the back, where nobody is waiting on it.

The original Invoice Summary flow: set criteria, generate, wait while every transaction is linked, receive an email, download the PDF, and only then review it — with no preview before committing.

Before — review was only possible after generating and downloading.

The redesigned Invoice Summary flow: set criteria, preview the pre-generation table, verify it, then generate — with transaction linking moved off the user's waiting path.

After — preview and verification come first, before anything is committed.

Rather than removing traceability, the solution introduced a lightweight link between invoice summaries and transactions, based on the finding that users do not inspect the link on the transaction itself. That avoided costly per-transaction updates and the user-event processing they triggered, while preserving the information users need for review.

The invoice summary record before the change: the Custom tab holds a full transactions sublist, each row carrying a deprecated invoice summary link field, built by updating every transaction individually.
Before — the old linking process built a record list. Per-transaction updates and their user-event processing were the expense.
The invoice summary record after the change: a compact Transactions field lists the linked invoice numbers, and the System Information tab shows the reduced map/reduce workflow processing.
After — the new process adds a field. The lightweight link keeps the traceability and drops the cost.

2. Lifting the rest of the experience

The same release carried the work the journey map and the interviews had surfaced:

Step 1 — setting up the generation

The original Generate Invoice Summary criteria screen: a long explanatory help panel above a sparse form of subsidiary, customer and closing-date fields, with the consolidated option buried in a checkbox.
Before — consolidated generation already existed, but the research found customers and partners were unaware of it.
The redesigned Generate Japan Invoice Summary screen: a Document Format section with an explicit Invoice Summary Type field, an invoice summary template picker and a PDF preference control, above a single row of filters including transaction type.
After — an explicit Invoice Summary Type field, a user-controlled PDF option, and the transaction-type filter people had been faking with saved searches.

Step 2 — reviewing before committing

The original second step: document details and a customer list showing only balance totals per customer, with Generate and Return to Criteria buttons and no way to open the underlying transactions.
Before — every step on one page, and only customer totals. There was no way to see the transactions underneath.
The redesigned screen with Generation Criteria and Generation History tabs, and an expandable pre-generation table showing a parent customer, its indented child companies, and the individual invoices with numbers, dates and amounts.
After — tabs carry the steps, and the table expands to transaction level so the run can be checked first.

Step 3 — generating and getting the file

The original Invoice Summary Generation Status screen: a banner warning that the process may take some time, a batch records table with a queued job, and Resolve Hanging Generation and Delete All Failed Generations buttons.
Before — a long-wait warning, and two recovery actions that existed only because the system froze.
The redesigned Generation History tab: a filterable list of generated files with download, delete and regenerate actions, status chips, closing date, customer, total amount, subsidiary, generation date and owner.
After — no wait warning at all, and a generation history you can download or regenerate from.

Step 4 — the template that gets posted

Screens shown with demo data; details abstracted to respect confidentiality. The regulatory context is public.

Verification after the redesign

We ran five moderated prototype sessions in August 2024 using dscout and Zoom. Participants completed realistic standard and consolidated tasks: select a subsidiary, closing date and customers; review the pre-generation table; generate and review the resulting documents; and explain what they expected to receive after download.

Alongside the scores, the sessions surfaced four actionable improvements:

The sessions confirmed the redesigned flow was understandable enough to complete the core tasks, and identified exactly which content and labelling changes were needed before wider rollout.

What I learned

For localization work, usability is inseparable from operational and regulatory context. A technically elegant solution can still fail if it removes the evidence users need to perform financial checks — which is exactly what my first hypothesis would have done, had the interviews not corrected it.

Three principles I carry into complex enterprise work: