Skip to content

NetGuard / Documentation

Buyer invoice portal

Verify Orders-page access and follow payment through confirmation.

My Invoices is a block merchants add and save on the current Shopify customer-account Orders page. It uses the signed-in B2B contact’s invoice permissions rather than a separately published full page.

Starting context

Before you start

  • Current Shopify customer accounts and a company contact with the intended location permissions.
  • At least one accessible invoice; the block hides for shoppers without invoices.
  • Supported Shopify payment configuration; NetGuard Pro or Business for genuine buyer partial payment.

Verify access and documents

A public website link or retail login does not authorize another company’s invoices.

  1. Open Shopify Settings → Checkout and customize the active checkout/customer-account configuration. Switch to customer accounts, then select Orders → Main → Add block → My Invoices → Save.

    Expected result

    My Invoices is placed and saved in the active customer-account configuration. Installing or deploying NetGuard alone does not place this block.

  2. In Shopify, confirm the customer is a company contact with the correct location purchasing permissions. Sign in to that current customer account.

    Expected result

    NetGuard resolves the verified identity and allowed locations; an unassigned retail shopper cannot gain company invoice access.

  3. Open the customer-account Orders page and find My Invoices. Compare invoice numbers, location context and amounts with the merchant records.

    Expected result

    The saved block shows accessible invoices. This release uses an Orders-page block, not a separate My Invoices full-page extension.

  4. Use Download PDF on one invoice. Repeat with a contact who has different branch permissions.

    Expected result

    Only an authorized document downloads. Changing location scope must not expose another branch’s invoices.

Pay and confirm

Starting checkout creates an intent. Confirmed Shopify payment processing settles the original invoice later.

  1. Select Pay now for an eligible unpaid invoice. Review Pay full balance or an offered partial amount before continuing.

    Expected result

    Full balance is available on NetGuard Free. Genuine partial checkout requires NetGuard Pro/Business and an amount above zero but no more than the balance; it is not Shopify-native B2B partial payment.

  2. Continue to Shopify checkout and complete the supported payment. If interrupted, use Resume payment when displayed to reopen the existing checkout.

    Expected result

    Opening, abandoning or resuming checkout does not settle debt. Confirming status can remain until the payment is processed.

  3. Return to My Invoices and refresh after confirmation. Compare the balance with the merchant ledger before starting another payment.

    Expected result

    Confirmed money reduces the original balance; full confirmed settlement closes it. Avoid repeated payment attempts while a charge is uncertain.

  4. For several eligible invoices, use the offered Pay all action and inspect its itemized allocation for one currency.

    Expected result

    The batch allocates oldest-due-first and can include invoices across authorized locations. Shopify’s single checkout uses the oldest-due invoice’s location as its purchasing context. Mixed currencies and arbitrary partial batch totals are not supported.

Keep in mind. Held/suspended companies cannot initiate portal checkout, unlike merchant recording of money already received. Non-Plus original-order partial write-back is limited even though the NetGuard ledger supports partial receipts. Invoice disputes go to the merchant.

Check before retrying

If the result differs

The block is absent
First verify My Invoices is added and saved in the active customer-account editor. Then check current accounts → Orders, company/contact location scope and accessible invoices. Empty shoppers intentionally see no block.
Pay now is unavailable
Inspect balance/state, hold/suspension, NetGuard partial-payment entitlement and Shopify payment configuration. Look for Resume payment first.
Pay all refuses
Check currency grouping, authorized invoice access, company status and checkout-creation errors. Each currency is paid separately; invoices from authorized locations can be grouped using the oldest-due invoice’s location context.
Need help with this step?

Contact NetGuard support with the store domain, record identifier and the result you expected. Redact unrelated personal information.