Advanced Portal Designer Documentation
Index

User Types (BC Entity Mapping)

APD supports different user types through the Navision Type field, allowing portal users to be mapped to various Business Central entities.

Note: This page covers BC entity types (Customer, Vendor, etc.) that link portal users to BC records. For information about authentication methods (Native, Auth0, Microsoft Entra), see Users Overview.

Authentication vs Entity Mapping

APD has two separate user concepts:

Concept Field Purpose
Authentication Type External User How user logs in (Native/Auth0/Entra)
Entity Type Navision Type What BC record user represents

A user can use any authentication method with any entity type:

Authentication Entity Type Example
Native Customer Local customer portal
Auth0 Customer Customer portal with SSO
Microsoft Entra Customer Enterprise customer portal
Microsoft Entra Salesperson Internal sales team portal

Understanding Navision Type

Purpose

The Navision Type field determines:

  • What BC entity the user represents
  • How <?no?> placeholder resolves
  • What data relationships apply
  • Default security filter behavior

Available Types

Type BC Entity Use Case
Customer Customer Customer portals
Vendor Vendor Vendor/supplier portals
Contact Contact Contact-based portals
Sales Person Salesperson/Purchaser Sales team portals

APD only supports these four BC entity types. There is no "User ID" entity type that maps to a BC user record — for employee portals, pick the closest BC entity (typically Sales Person) or leave the type blank.

Customer Type

Configuration

Navision Type: Customer
Navision Identification: 10000

Data Access

The <?no?> placeholder returns the Customer No. (10000).

Common Use Cases

  • Customer self-service portal
  • Order history viewing
  • Invoice downloads
  • Account information

Security Filter Example

Table: Sales Header (36)
Field: Sell-to Customer No. (2)
Value: %4

Customer sees only their own sales orders.

Template Example

<?open(Customer)?>
<?filter(Customer,"No.",no())?>
<div class="customer-info">
    <h2><?field(Customer,Name)?></h2>
    <p>Customer No: <?field(Customer,"No.")?></p>
    <p>Balance: <?field(Customer,"Balance (LCY)")?></p>
</div>
<?close(Customer)?>

Vendor Type

Configuration

Navision Type: Vendor
Navision Identification: V10000

Data Access

The <?no?> placeholder returns the Vendor No. (V10000).

Common Use Cases

  • Vendor/supplier portal
  • Purchase order viewing
  • Invoice submission
  • Payment status

Security Filter Example

Table: Purchase Header (38)
Field: Buy-from Vendor No. (2)
Value: %4

Vendor sees only their purchase orders.

Template Example

<?open(Vendor)?>
<?filter(Vendor,"No.",no())?>
<div class="vendor-info">
    <h2><?field(Vendor,Name)?></h2>
    <p>Vendor No: <?field(Vendor,"No.")?></p>
    <p>Balance Due: <?field(Vendor,"Balance Due (LCY)")?></p>
</div>
<?close(Vendor)?>

Contact Type

Configuration

Navision Type: Contact
Navision Identification: CT10000

Data Access

The <?no?> placeholder returns the Contact No. (CT10000).

Common Use Cases

  • CRM portal
  • Contact self-service
  • Marketing portals
  • Event registration

Security Filter Example

Table: Contact (5050)
Field: No. (1)
Value: %4

Template Example

<?open(Contact)?>
<?filter(Contact,"No.",no())?>
<div class="contact-info">
    <h2><?field(Contact,Name)?></h2>
    <p>Company: <?field(Contact,"Company Name")?></p>
    <p>Email: <?field(Contact,"E-Mail")?></p>
</div>
<?close(Contact)?>

Sales Person Type

Configuration

Navision Type: Sales Person
Navision Identification: JD

Data Access

The <?no?> placeholder returns the Salesperson Code (JD).

Common Use Cases

  • Sales team portal
  • Customer management
  • Commission tracking
  • Sales reporting

Security Filter Example

Table: Customer (18)
Field: Salesperson Code (86)
Value: %4

Salesperson sees only their assigned customers.

Template Example

<?open("Salesperson/Purchaser")?>
<?filter("Salesperson/Purchaser",Code,no())?>
<div class="salesperson-info">
    <h2><?field("Salesperson/Purchaser",Name)?></h2>
    <p>Code: <?field("Salesperson/Purchaser",Code)?></p>
    <p>Commission: <?field("Salesperson/Purchaser","Commission %")?></p>
</div>
<?close("Salesperson/Purchaser")?>

Extended Access

Sales portal typically includes:

<!-- My Customers -->
<?open(Customer)?>
<?filter(Customer,"Salesperson Code",no())?>
<?loop(Customer,'-')?>
    <tr>
        <td><?field(Customer,"No.")?></td>
        <td><?field(Customer,Name)?></td>
        <td><?field(Customer,"Balance (LCY)")?></td>
    </tr>
<?endloop(Customer)?>
<?close(Customer)?>

Choosing the Right Type

Decision Tree

Is the user external?
├── Yes: Is it a customer?
│   ├── Yes → Customer Type
│   └── No: Is it a vendor?
│       ├── Yes → Vendor Type
│       └── No → Contact Type
└── No: Sales-based / internal employee?
    └── → Sales Person Type (mapped to a Salesperson/Purchaser record)

Considerations

Factor Recommendation
Customer self-service Customer
Supplier portal Vendor
CRM/Marketing Contact
Sales team Sales Person
Employee self-service Sales Person (or leave type blank if no BC-entity link is needed)

No Type (Blank)

When to Use

  • General authenticated access
  • No BC entity mapping needed
  • Custom identification logic

Implications

  • <?no?> returns empty
  • No automatic data mapping
  • Manual filter configuration needed

Multiple Entity Access

Complex Scenarios

Some users need access to multiple entity types:

Example: Sales Manager

Navision Type: Sales Person
Navision Identification: JM

Security Filters: SALES|MANAGER

With appropriate security setup, this user can:

  • See their assigned customers (as Salesperson)
  • Access management reports (as Manager)

Custom Implementation

For complex multi-entity scenarios:

  • Use custom fields in APD User table
  • Create script actions for entity switching
  • Implement role-based views

Validation

Ensuring Valid Mapping

When setting Navision Identification:

  • Verify the entity exists in BC
  • Use correct format for the type
  • Test data access after configuration

Common Issues

Issue Cause Solution
No data showing Wrong identification Verify entity number
Wrong data Type/ID mismatch Check mapping
Error on login Entity deleted Update or clear mapping

Migration Considerations

Changing User Types

If user type needs to change:

  1. Update Navision Type
  2. Update Navision Identification
  3. Review security filters
  4. Test data access

Bulk Updates

For many users:

  1. Export users
  2. Update mapping in Excel
  3. Import changes
  4. Verify results