NetSuite Insights & Guides | CuriousRubik

SGD and USD Invoice Access in NetSuite | CuriousRubik

Written by Krishna | Jul 17, 2026, 1:00:00 PM

Keep customer and currency boundaries clear.

Prove which invoices a customer can view and download before enabling payment in a NetSuite-connected portal. Currency is part of the invoice's meaning, but it is not an access rule. Two invoices in SGD can belong to different legal customers; one customer may legitimately have obligations in SGD and USD.

For a Singapore supplier serving regional groups, the practical challenge is to show an authorised accounts-payable contact the right obligations without exposing another company's documents. A group relationship, common payer or shared delivery address should not silently decide that boundary.

The acceptance tool is an invoice-entity-currency matrix. It should test viewing, downloading and payment eligibility as separate actions, with deliberately denied cases alongside successful ones.

Build the invoice population first

Consider an illustrative Singapore supplier with two related customers, Company A and Company B. Lina handles accounts payable for Company A. Omar has a documented group-treasury role, but the scope of his portal access still needs explicit approval. Their names, companies, invoice references and amounts below are invented.

The test population contains four invoices:

  • A-101 belongs to Company A and has an outstanding amount of SGD 1,200.
  • A-102 belongs to Company A and has an outstanding amount of USD 800.
  • B-201 belongs to Company B and has an outstanding amount of SGD 900.
  • B-202 belongs to Company B and has an outstanding amount of USD 500.

Lina is authorised to view and download Company A's invoices. She is not authorised for Company B. The planned portal therefore needs to present two separate currency balances for her approved population. It should not combine SGD 1,200 and USD 800 into a total labelled simply “2,000.”

Omar's title does not settle his access. If the customer formally authorises him to view both entities, test that exact relationship. If his role is only to coordinate payment instructions, giving him full invoice-download access may exceed what is needed. Let the customer account owner resolve the request before configuration.

Resolve the invoice's customer identity before its currency or payment action.

Write the expected result for every action

For Lina and A-101, the expected view and download results are allow. The invoice list, detailed page and downloaded document should refer to the same customer, invoice and SGD obligation. For A-102, the corresponding checks must retain USD rather than inherit an SGD display default.

For B-201 and B-202, the expected results are deny. Test a direct document link, an invoice search and any export route included in the solution. A hidden invoice-list row does not establish that the document itself is protected.

Payment eligibility is a further column, not an automatic consequence of viewing. An authorised viewer might lack payment authority, or the chosen payment arrangement might not support that entity-currency combination. Mark it “not enabled” until the proposed route has been verified. This is clearer than a payment button that fails after the customer has already entered information.

Retain the expected customer record, invoice identifier, currency, action, observed response and reviewer for each test. Using a small controlled population makes it easier to detect unintended access than testing against a large account with unfamiliar balances.

Understand what MyAccount does and what still needs proof

SuiteCommerce MyAccount includes transaction and billing self-service, with invoice visibility and supported payment functions. It is distinct from full catalogue shopping. Its availability does not establish that the proposed customer relationships, currencies and payment processing are ready in a particular account.

If a custom portal is proposed, identify where each authorisation decision happens and which integration identity requests the invoice. Check whether the application retrieves only authorised records or retrieves a broader population and hides some results. The security reviewer should assess the actual implementation, including documents and logs.

Oracle documents role-based permissions in NetSuite. The portal's customer relationship mapping and downstream enforcement still need their own evidence. An account administrator being able to see all four invoices is not a successful buyer-access test.

Keep a short implementation register: product route, relevant licence, enabled functions, extensions or custom work, payment dependencies and unresolved limits. It should state what has actually been demonstrated rather than copy a feature list into a project promise.

Read the downloadable document as well as the screen

The portal list may show the correct currency while the downloaded document contains the wrong template or customer details. Review both. Confirm the issuer, customer, invoice identifier, amounts and currency against the authoritative transaction and the approved document design.

Where a foreign-currency invoice needs Singapore tax information, finance should validate the required presentation and conversion evidence for the specific transaction. The portal should deliver the approved document, not improvise tax figures from an account-balance widget. This article's synthetic amounts are outstanding obligations, not a worked tax invoice or a statement of tax treatment.

A customer also needs to distinguish the original invoice amount, credits, payments already applied and the remaining balance. Test an invoice that changes after the user first views it. Decide what happens when a previously downloaded copy no longer reflects the current outstanding amount, and where the customer can see the latest status.

Separate access permission from currency presentation and payment readiness.

Rehearse a payment attempt only after visibility passes

Use the approved test environment and a verified test payment arrangement. Do not assume a NetSuite sandbox isolates an external payment provider. The project team must confirm that the entire route is safe for testing.

For A-102, ask the team to demonstrate the intended USD path, including displayed obligation, settlement assumptions and the reference returned to the portal. Document any currency conversion or fee information actually provided by the chosen arrangement; do not promise a universal rate or fee outcome.

Then simulate an uncertain response using the supported test method. The user needs to know whether the attempt is pending, failed or confirmed before trying again. Reconcile the payment provider result and the NetSuite application of payment according to the actual integration. A success message alone is not enough evidence that the correct invoice balance was settled.

If the route cannot support the required entity or currency, retain the useful view-and-download service while finance defines an approved alternative. Avoid disguising an unsupported automated payment as a minor screen issue.

Keep the matrix when customer roles change

Lina may later cover Company B temporarily, or Omar may leave the group. Keep the original test population and rerun the relevant access cases after an approved change. Include saved links and existing sessions, with observed revocation behaviour and a procedure for any residual exposure.

The customer-facing result should be simple: the right documents, clearly labelled obligations and only the actions the person is authorised to take. Achieving that simplicity requires specific tests behind the screen.

Bring the four-invoice matrix to a customer portal planning session. Establish visibility and document accuracy first, then make a separate, evidence-based decision about payment.