Skip to main content

Overview

The portal order page lets a logged-in member see their orders and payments — and act on them — without leaving the portal. Each row can surface action links that take the member straight to checkout, to an installment payment, or to a billing document. The order and payment lists are driven by roster settingsRoster_Setting__c records read by the FS Roster accelerator. This page explains what those settings are, the key fields that define each list, and how the order action links are assembled. It then walks you through the Apex scripts that create the records. After your records exist, you add the roster component to a portal page and style it — see Portal Order Page.

What Renders the Table

The order list is rendered by the FS Roster accelerator (unmanaged-package-roster-accelerator), a separate unmanaged package with no namespace prefix. The roster table is not part of the managed Portal package, so it must be installed in the org separately before any of the steps on this page will work. Two pieces work together:
  • A Roster_Setting__c record (from the FS Roster accelerator) defines what the table shows — which object, which records, and which fields and columns.
  • The portal Order carries the action links the table surfaces. The Order.FS_Portal_Actions__c field (shipped by the Portal Components package) is a formula that bundles the checkout, installment, and view-document links into a single column you can drop into the roster.
Grant your community users access to the roster before configuring it. Roster access is set up as described in the FS Roster accelerator’s own user guide.

Roster Setting Fields

A Roster_Setting__c record tells the FS Roster accelerator what to show in a roster table. For the portal order page you create one record per list you want to display. The key fields on each record are:
  • Object_to_Display__c — the API name of the object the table queries. For order lists this is Order; for payment lists it is the Financial Event object FCORE_PAY__Financial_Event__c.
  • Where_Query__c — a raw SOQL WHERE clause that scopes the rows. Use the :usrObj bind variable to reference the logged-in portal user, so each member sees only their own records (for example, BillToContactId = :usrObj.ContactId).
  • Fields_Settings__c — a JSON definition of the columns (header label, field API name, and per-column options).
To surface the order action links, add the Order.FS_Portal_Actions__c field as a column. This field (shipped by the Portal Components package) is a formula that bundles the checkout, installment checkout, and view-document links into a single column.
The action links in FS_Portal_Actions__c only resolve when the Business Unit has all three URL fields set: FCORE_PORTAL__Portal_URL__c, FCORE_PORTAL__Portal_Checkout_Page_Path__c, and FS_Portal_Installments_Page_Path__c. If any are blank, the affected links render empty with no error. Set these on the Business Unit before creating your roster records.

How to Create the Roster Setting Records

1

Open the Execute Anonymous window

In Setup, open the Developer Console, click Debug, then Open Execute Anonymous Window.
The Developer Console Debug menu with Open Execute Anonymous Window
2

Run each script

Paste each script below into the window and click Execute. Run the snippets one at a time, in order.
The Execute Anonymous window with a Roster Setting insert script
3

Confirm the records were created

Running all of the scripts creates the following Roster_Setting__c records, which you point portal pages at next:
  • Pending
      • All Pending Orders
      • Individual Pending Orders
      • Company Pending Orders
      • All Pending Payments
      • Individual Pending Payments
      • Company Pending Payments
  • Completed
      • All Completed Orders
      • Individual Completed Orders
      • Company Completed Orders
      • All Completed Payments
      • Individual Completed Payments
      • Company Completed Payments

Limitations and Common Pitfalls

  • The roster table is a separate package. Roster_Setting__c and the roster component belong to the FS Roster accelerator (unmanaged-package-roster-accelerator), not the managed Portal package. If the accelerator is not installed in the org, these scripts fail and the roster component has nothing to render. Install it first.
  • No order or payment roster record ships out of the box. fusionCore does not include a packaged order/payment Roster_Setting__c. You create the records yourself with the scripts above; nothing appears until you do.
  • Where_Query__c is raw SOQL you write — a missing user filter leaks records. The clause runs without sharing, so if you omit a :usrObj filter (for example, BillToContactId = :usrObj.ContactId), the table returns every matching record across all members, not just the logged-in user’s. Always scope each query to the current user.
  • Half-configured Business Units produce blank action links. The FS_Portal_Actions__c links render empty — with no error — unless the Business Unit’s FCORE_PORTAL__Portal_URL__c, FCORE_PORTAL__Portal_Checkout_Page_Path__c, and FS_Portal_Installments_Page_Path__c are all set.
  • The installment link is conditional. The installment portion of the action links only appears when the order’s next installment is populated (FCORE_PAY__Next_Installment__c). A blank installment link on an order with no upcoming installment is expected.