Appearance
Application Tokens
| Backlog field | Value |
|---|---|
| Story ID | AP-GS-001 |
| Epic | General Settings |
| Story type | Business workflow |
| Review status | Draft - business analyst and business owner review required |
| Source evidence | AppsPortal.Apis controller, application command/query handlers, validators, domain entities, and matching MFE workflow where available |
| Last source review | 2026-07-10 |
User story
As integration administrators, I want to generate and control application tokens so that approved integrations authenticate without sharing user credentials.
Acceptance criteria
- Only authorized users can view or execute the feature's actions.
- Required business data, active dependencies, tenant/branch scope, and current document state are validated.
- Invalid requests return actionable validation errors without applying a partial change.
- Search, list, view, print, and export operations use the same authorized business scope.
- Material create, edit, status, approval, posting, reversal, and integration actions are auditable where applicable.
- Financial or stock effects are applied atomically and no more than once.
Business rules
Required
Token name/application, allowed scope, owner/tenant, expiry, and authorization are required.
Optional or conditional
Description, IP/audience restrictions, and shorter custom expiry are optional.
Action behavior
Generate shows the secret only according to security policy; revoke immediately prevents future authentication.
Blocking rule or downstream effect
Tokens grant API access only and never bypass tenant, permission, or business validation.
Frontend page coverage
The following UI coverage is sourced from the pulled MFE route configuration. A Module-level supporting artifact mapping is evidence of a reachable screen, but requires BA confirmation that it belongs to this story rather than a more specific feature story.
| Route/page | Component | Mode | Route permission/guard | Mapping confidence | Source |
|---|---|---|---|---|---|
| (module default) | DashboardComponent | Dashboard | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/home/dashboard.module.ts:9 |
| (module default) | DiscountPolicyListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.DiscountPolicy_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:190 |
| (module default) | EtaSendInvoicesListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.EtaInvoices_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:219 |
| (module default) | FinancialCalendarListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.FinincalCalender_Add; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:94 |
| (module default) | LayoutPageComponent | List/navigation | Guards: AuthGuard , moduleLicenseGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:20 |
| (module default) | MainRolesComponent | List/navigation | Permission: AppGeneralSettingsPermissions.Role_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:36 |
| (module default) | PaymentTermListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.PaymentTerms_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:278 |
| (module default) | RegisterAccountComponent | List/navigation | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/whatsapp-integration/whatsapp-integration.module.ts:11 |
| (module default) | RolesComponent | List/navigation | Permission: AppGeneralSettingsPermissions.Role_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:53 |
| (module default) | TagListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.Tags_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:59 |
| (module default) | TagListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.Tags_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:74 |
| (module default) | UserSettingsListComponent | List/navigation | Permission: AppGeneralSettingsPermissions.UserSettings_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:154 |
| (module default) | VatReportComponent | Report/print | Permission: AppGeneralSettingsPermissions.ZatcaIntegrationReport_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/reports/reports.module.ts:14 |
| (module default) | ZatcaSettingsViewComponent | View/detail | Permission: AppGeneralSettingsPermissions.ZatcaSendingOptions_View,; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:117 |
| add | AddPaymentTermComponent | Add | Permission: AppGeneralSettingsPermissions.PaymentTerms_Add; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:288 |
| add | CreateFinancialCalendarComponent | Add | Permission: AppGeneralSettingsPermissions.FinincalCalender_Add; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:101 |
| add | CreateRoleComponent | Add | Permission: AppGeneralSettingsPermissions.Role_Add; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:63 |
| add | DiscoutPolicyAddComponent | Add | Permission: AppGeneralSettingsPermissions.DiscountPolicy_Add; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:200 |
| admin | () => import('./admin/admin.module').then((m) => m.AdminModule) | Import | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:42 |
| currency-definition | CurrencyDefinitionComponent | List/navigation | Permission: AppGeneralSettingsPermissions.CurrencyDefinition_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:123 |
| dashboard | Lazy-loaded route | Dashboard | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:50 |
| edit | ZatcaSettingsEditComponent | Edit | Permission: AppGeneralSettingsPermissions.ZatcaSendingOptions_Edit,; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:129 |
| edit/:id | EditDiscountPolicyComponent | Edit | Permission: AppGeneralSettingsPermissions.TaxDefinition_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:171 |
| edit/:id | EditDiscountPolicyComponent | Edit | Permission: AppGeneralSettingsPermissions.DiscountPolicy_Edit; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:220 |
| edit/:id | EditFinancialCalendarComponent | Edit | Permission: AppGeneralSettingsPermissions.FinincalCalender_Edit; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:111 |
| edit/:id | EditPaymentTermComponent | Edit | Permission: AppGeneralSettingsPermissions.PaymentTerms_Edit; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:299 |
| edit/:id | EditRoleComponent | Edit | Permission: AppGeneralSettingsPermissions.Role_Edit , AppGeneralSettingsPermissions.Role_View; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:73 |
| edit/:id | EditUserSettingsComponent | Edit | Permission: AppGeneralSettingsPermissions.UserSettings_Edit; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:165 |
| eta-invoices | MainEtaSendInvoicesComponent | List/navigation | Permission: AppGeneralSettingsPermissions.EtaInvoices_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:215 |
| generate-app-token | GenerateAppTokenComponent | List/navigation | Permission: AppGeneralSettingsPermissions.GenerateAppToken_View; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:85 |
| history/:invoiceId | EtaSendInvoiceHistoryComponent | List/navigation | Permission: AppGeneralSettingsPermissions.EtaInvoices_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:229 |
| home-help-page | Lazy-loaded route | List/navigation | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:56 |
| integration | Lazy-loaded route | List/navigation | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:244 |
| integration-setting | EtaConnectionSettingsComponent | List/navigation | Permission: AppGeneralSettingsPermissions.IntegrationSetting_View,; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:203 |
| login | LogoutComponent } | List/navigation | Guards: AuthGuard , moduleLicenseGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:14 |
| login-redirect | LogoutRedirectComponent } | List/navigation | Guards: AuthGuard , moduleLicenseGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:16 |
| logout | LoginRedirectComponent } | List/navigation | Guards: AuthGuard , moduleLicenseGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:15 |
| logout-redirect | UnAuthorizedComponent } | List/navigation | Guards: AuthGuard , moduleLicenseGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:17 |
| masterdata | Lazy-loaded route | List/navigation | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:35 |
| my-profile | UserProfileComponent | List/navigation | Permission: AppGeneralSettingsPermissions.User_Profile; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:258 |
| payment-term | MainPaymentTermComponent | List/navigation | Permission: AppGeneralSettingsPermissions.PaymentTerms_List; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:268 |
| reports | () => import('./reports/reports.module').then((m) => m.ReportsModule) | Import | No route-level permission/guard found in source window | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:46 |
| requests | RequestsComponent | List/navigation | Permission: AppGeneralSettingsPermissions.TaxDefinition_List | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:163 |
| sequence | SequenceComponent | Sequence | Permission: 'ALL_PERMISSIONS'; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:230 |
| setting | RegisterAccountComponent | List/navigation | Permission: AppGeneralSettingsPermissions.WhatsAppIntegration_View , AppGeneralSettingsPermissions.WhatsAppIntegration_Edit; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/whatsapp-integration/whatsapp-integration.module.ts:16 |
| signature-service-setting | EtaServiceDownloadComponent | List/navigation | Permission: AppGeneralSettingsPermissions.SignatureServiceSetting_View,; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:191 |
| un-authorized | LayoutPageComponent | List/navigation | Guards: AuthGuard , moduleLicenseGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/routes.ts:18 |
| vat-report | VatReportComponent | Report/print | Permission: AppGeneralSettingsPermissions.ZatcaIntegrationReport_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/reports/reports.module.ts:16 |
| view/:id | DiscoutPolicyDetailsComponent | View/detail | Permission: AppGeneralSettingsPermissions.DiscountPolicy_View; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:210 |
| view/:id | ViewIntegrationDetailsComponent | View/detail | Permission: AppGeneralSettingsPermissions.WhatsAppIntegration_View , AppGeneralSettingsPermissions.WhatsAppIntegration_Edit; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/whatsapp-integration/whatsapp-integration.module.ts:27 |
| view/:id | ViewPaymentTermComponent | View/detail | Permission: AppGeneralSettingsPermissions.PaymentTerms_View; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:310 |
| view/:id | ViewUserSettingsComponent | View/detail | Permission: AppGeneralSettingsPermissions.UserSettings_View; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:175 |
| whatsapp-integration-settings | Lazy-loaded route | List/navigation | No route-level permission/guard found in source window | Feature token match | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:247 |
| workflowconfig | Lazy-loaded route | List/navigation | Permission: AppGeneralSettingsPermissions.User_Profile; Guards: PolicyAuthGuard | Feature token match | apps/erpHome/src/app/remote-entry/general-setting/general-setting.module.ts:251 |
| zatca-invoices | ZatcaInvoicesComponent | List/navigation | Permission: AppGeneralSettingsPermissions.ZatcaIntegrationReport_List; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/reports/reports.module.ts:24 |
| zatca-sending-options | ZatcaSettingsMainComponent | List/navigation | Permission: AppGeneralSettingsPermissions.ZatcaSendingOptions_View; Guards: PolicyAuthGuard | Module-level supporting artifact | apps/erpHome/src/app/remote-entry/admin/admin-routing.module.ts:107 |
Observed frontend fields and validation
| Component | Control | Observed frontend rule | Component source |
|---|---|---|---|
| CreateFinancialCalendarComponent | code | Required in component validator | apps/erpHome/src/app/remote-entry/general-setting/components/create-financial-calendar/create-financial-calendar.component.ts |
| CreateFinancialCalendarComponent | name | Required in component validator | apps/erpHome/src/app/remote-entry/general-setting/components/create-financial-calendar/create-financial-calendar.component.ts |
| CreateFinancialCalendarComponent | range | Required in component validator | apps/erpHome/src/app/remote-entry/general-setting/components/create-financial-calendar/create-financial-calendar.component.ts |
| CreateRoleComponent | isActive | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/create-role/create-role.component.ts |
| CreateRoleComponent | restrictLicense | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/create-role/create-role.component.ts |
| CreateRoleComponent | roleName | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/create-role/create-role.component.ts |
| CreateRoleComponent | roleNameAr | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/create-role/create-role.component.ts |
| DiscoutPolicyAddComponent | discountPercentage | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discout-policy-add/discout-policy-add.component.ts |
| DiscoutPolicyAddComponent | name | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discout-policy-add/discout-policy-add.component.ts |
| DiscoutPolicyAddComponent | nameAr | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discout-policy-add/discout-policy-add.component.ts |
| DiscoutPolicyViewHeaderComponent | code | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/components/discout-policy-view-header/discout-policy-view-header.component.ts |
| DiscoutPolicyViewHeaderComponent | name | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/components/discout-policy-view-header/discout-policy-view-header.component.ts |
| DiscoutPolicyViewHeaderComponent | nameAr | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/components/discout-policy-view-header/discout-policy-view-header.component.ts |
| DiscoutPolicyViewHeaderComponent | percentage | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/components/discout-policy-view-header/discout-policy-view-header.component.ts |
| EditDiscountPolicyComponent | code | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/edit-discount-policy/edit-discount-policy.component.ts |
| EditDiscountPolicyComponent | discountPercentage | Required in component validator | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/edit-discount-policy/edit-discount-policy.component.ts |
| EditDiscountPolicyComponent | name | Required in component validator | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/edit-discount-policy/edit-discount-policy.component.ts |
| EditDiscountPolicyComponent | nameAr | Required in component validator | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/edit-discount-policy/edit-discount-policy.component.ts |
| EditFinancialCalendarComponent | code | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/components/edit-financial-calendar/edit-financial-calendar.component.ts |
| EditFinancialCalendarComponent | name | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/components/edit-financial-calendar/edit-financial-calendar.component.ts |
| EditFinancialCalendarComponent | rangeDates | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/general-setting/components/edit-financial-calendar/edit-financial-calendar.component.ts |
| EditRoleComponent | isActive | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-role/edit-role.component.ts |
| EditRoleComponent | restrictLicense | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-role/edit-role.component.ts |
| EditRoleComponent | roleName | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-role/edit-role.component.ts |
| EditRoleComponent | roleNameAr | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-role/edit-role.component.ts |
| EditUserSettingsComponent | allowChangeInCostCenter | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | allowExceedCustomerCreditLimit | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | allowSellingBelowPriceLimitInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | bankId | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | branchIds | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | canEditSalesPriceInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | canEditSalesPriceInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | enableMaximumSalesPriceLimitInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | maximumPricePercentageInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | maximumPricePercentageInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | minimumPricePercentageInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | name | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | treasuryId | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EditUserSettingsComponent | warehouseId | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/edit-user-settings/edit-user-settings.component.ts |
| EtaConnectionSettingsComponent | apiKey | Required in component validator | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaConnectionSettingsComponent | callbackUrl | Required in component validator | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaConnectionSettingsComponent | clientId | Required in component validator | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaConnectionSettingsComponent | clientSecret | Required in component validator | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaConnectionSettingsComponent | expirationDate | Required in component validator | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaServiceDownloadComponent | portNo | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-service-download/eta-service-download.component.ts |
| EtaServiceDownloadComponent | tokenPinNo | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-service-download/eta-service-download.component.ts |
| EtaServiceDownloadComponent | tokenSerialNo | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-service-download/eta-service-download.component.ts |
| EtaServiceDownloadComponent | tokenType | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-service-download/eta-service-download.component.ts |
| RegisterAccountComponent | email | Required in component validator | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/register-account/register-account.component.ts |
| RegisterAccountComponent | password | Required in component validator | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/register-account/register-account.component.ts |
| VatReportComponent | dateRange | Required in component validator | apps/erpHome/src/app/remote-entry/reports/components/vat-report/vat-report.component.ts |
| ViewUserSettingsComponent | allowChangeInCostCenter | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | allowExceedCustomerCreditLimit | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | allowSellingBelowPriceLimitInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | allowSellingBelowPriceLimitInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | canEditSalesPriceInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | canEditSalesPriceInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | enableMaximumSalesPriceLimitInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | enableMaximumSalesPriceLimitInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | maximumPricePercentageInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | maximumPricePercentageInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | minimumPricePercentageInSalesInvoice | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ViewUserSettingsComponent | minimumPricePercentageInSalesOrder | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ZatcaSettingsEditComponent | automaticSending | Visible control; optional or API-dependent | apps/erpHome/src/app/remote-entry/admin/pages/zatca-settings/zatca-settings-edit/zatca-settings-edit.component.ts |
| ZatcaSettingsEditComponent | triggerActionKey | Conditionally required/validated in component | apps/erpHome/src/app/remote-entry/admin/pages/zatca-settings/zatca-settings-edit/zatca-settings-edit.component.ts |
Observed frontend actions
| Component | Click action/handler | Business review requirement | Component source |
|---|---|---|---|
| CreateFinancialCalendarComponent | onGenerate | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/general-setting/components/create-financial-calendar/create-financial-calendar.component.ts |
| CurrencyDefinitionComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/general-setting/pages/currencyDefinition/currency-definition/currency-definition.component.ts |
| DiscountPolicyListComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discount-policy-list/discount-policy-list.component.ts |
| DiscountPolicyListComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discount-policy-list/discount-policy-list.component.ts |
| DiscountPolicyListComponent | onView | Open the authorized record in view mode with its status, totals, lines, source and generated-document links; handle deleted, forbidden, and missing records without exposing stale data. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discount-policy-list/discount-policy-list.component.ts |
| DiscoutPolicyAddComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discout-policy-add/discout-policy-add.component.ts |
| DiscoutPolicyAddComponent | openAddUserModal | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/discout-policy-add/discout-policy-add.component.ts |
| EditDiscountPolicyComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/edit-discount-policy/edit-discount-policy.component.ts |
| EditDiscountPolicyComponent | openAddUserModal | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/general-setting/pages/Discount policy/pages/edit-discount-policy/edit-discount-policy.component.ts |
| EditFinancialCalendarComponent | oncloseYear | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/erpHome/src/app/remote-entry/general-setting/components/edit-financial-calendar/edit-financial-calendar.component.ts |
| EditFinancialCalendarComponent | onOpenYear | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/general-setting/components/edit-financial-calendar/edit-financial-calendar.component.ts |
| EditRolesUsersComponent | onAdd | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-roles-users/edit-roles-users.component.ts |
| EditRolesUsersComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-roles-users/edit-roles-users.component.ts |
| EditRolesUsersComponent | onViewPermissions | Open the authorized record in view mode with its status, totals, lines, source and generated-document links; handle deleted, forbidden, and missing records without exposing stale data. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/edit-roles-users/edit-roles-users.component.ts |
| EtaConnectionSettingsComponent | onConfirm | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaConnectionSettingsComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-connection-settings/eta-connection-settings.component.ts |
| EtaSendInvoiceHistoryComponent | onBackToList | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoice-history/eta-send-invoice-history.component.ts |
| EtaSendInvoiceHistoryComponent | onViewError | Open the authorized record in view mode with its status, totals, lines, source and generated-document links; handle deleted, forbidden, and missing records without exposing stale data. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoice-history/eta-send-invoice-history.component.ts |
| EtaSendInvoicesListComponent | onSendAll | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoices-list/eta-send-invoices-list.component.ts |
| EtaSendInvoicesListComponent | onSendRow | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoices-list/eta-send-invoices-list.component.ts |
| EtaSendInvoicesListComponent | onStatusHistory | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoices-list/eta-send-invoices-list.component.ts |
| EtaSendInvoicesListComponent | onUpdateStatusBulk | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoices-list/eta-send-invoices-list.component.ts |
| EtaSendInvoicesListComponent | onUpdateStatusRow | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/ETA/eta-send-invoice/eta-send-invoices-list/eta-send-invoices-list.component.ts |
| FinancialCalendarListComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/general-setting/pages/financial-calendar/financial-calendar-list/financial-calendar-list.component.ts |
| FinancialCalendarListComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/general-setting/pages/financial-calendar/financial-calendar-list/financial-calendar-list.component.ts |
| GenerateAppTokenComponent | onSave | Validate the concrete form and line collection, prevent duplicate submission, persist once, show API field/business errors in context, and navigate/refresh only after success. | apps/erpHome/src/app/remote-entry/admin/pages/generate-app-token/pages/generate-app-token/generate-app-token.component.ts |
| RegisterAccountComponent | edit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/register-account/register-account.component.ts |
| RegisterAccountComponent | onSaveOrEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/register-account/register-account.component.ts |
| RegisterAccountComponent | openConfig | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/register-account/register-account.component.ts |
| RegisterAccountComponent | startIntegrate | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/register-account/register-account.component.ts |
| RolesComponent | onAdd | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles/roles.component.ts |
| RolesComponent | onDuplicate | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles/roles.component.ts |
| RolesComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles/roles.component.ts |
| RolesPermissionsComponent | onModuleSelect | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles-permissions/roles-permissions.component.ts |
| RolesPermissionsComponent | onServiceSelect | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles-permissions/roles-permissions.component.ts |
| RolesUsersComponent | onAdd | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles-users/roles-users.component.ts |
| RolesUsersComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/admin/pages/AccessControl/roles-users/roles-users.component.ts |
| TagListComponent | onDelete | Available only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure. | apps/erpHome/src/app/remote-entry/general-setting/pages/tags/tag-list/tag-list.component.ts |
| TagListComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/general-setting/pages/tags/tag-list/tag-list.component.ts |
| UserProfileComponent | updateProfile | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/general-setting/pages/user-profile/user-profile.component.ts |
| UserSettingsListComponent | onEdit | Open the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return. | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/user-settings-list/user-settings-list.component.ts |
| UserSettingsListComponent | onView | Open the authorized record in view mode with its status, totals, lines, source and generated-document links; handle deleted, forbidden, and missing records without exposing stale data. | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/user-settings-list/user-settings-list.component.ts |
| VatReportComponent | printSummary | Generate the printout for the selected record and authorized branch/tenant; use posted/current values and surface print, template, ZATCA/ETA, or popup failures without changing transaction state. | apps/erpHome/src/app/remote-entry/reports/components/vat-report/vat-report.component.ts |
| VatReportComponent | printTable | Generate the printout for the selected record and authorized branch/tenant; use posted/current values and surface print, template, ZATCA/ETA, or popup failures without changing transaction state. | apps/erpHome/src/app/remote-entry/reports/components/vat-report/vat-report.component.ts |
| VatReportComponent | routeToTransactionDetail | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/reports/components/vat-report/vat-report.component.ts |
| ViewIntegrationDetailsComponent | activate | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/view-integration-details/view-integration-details.component.ts |
| ViewIntegrationDetailsComponent | cancelActivation | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/erpHome/src/app/remote-entry/whatsapp-integration/pages/view-integration-details/view-integration-details.component.ts |
| ViewUserSettingsComponent | onCopySettings | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/admin/pages/UserSettings/view-user-settings/view-user-settings.component.ts |
| ZatcaInvoicesComponent | onSendAll | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/reports/pages/zatca-invoices/zatca-invoices.component.ts |
| ZatcaInvoicesComponent | onSendRow | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/erpHome/src/app/remote-entry/reports/pages/zatca-invoices/zatca-invoices.component.ts |
Page-specific frontend acceptance criteria
- (module default) - Dashboard: Load authorized summary values consistently with source reports, support exposed date/branch filters, and handle empty/error states. Security observed: No route-level permission/guard found in source window
- (module default) - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.Role_List; Guards: PolicyAuthGuard
- (module default) - Report/print: Expose documented filters, validation, empty/loading/error states, authorized results, totals, drill-through, print, and export behavior where present. Security observed: Permission: AppGeneralSettingsPermissions.ZatcaIntegrationReport_List; Guards: PolicyAuthGuard
- (module default) - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Permission: AppGeneralSettingsPermissions.ZatcaSendingOptions_View,; Guards: PolicyAuthGuard
- add - Add: Render permitted fields, required indicators, defaults, dependent lookups, validation, Save/Cancel, loading, success, and API-error states. Security observed: Permission: AppGeneralSettingsPermissions.Role_Add; Guards: PolicyAuthGuard
- admin - Import: Provide template/download and upload flow, file/type/size validation, row-level preview/errors, confirmation, duplicate policy, and partial-failure rules. Security observed: No route-level permission/guard found in source window
- currency-definition - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.CurrencyDefinition_List; Guards: PolicyAuthGuard
- dashboard - Dashboard: Load authorized summary values consistently with source reports, support exposed date/branch filters, and handle empty/error states. Security observed: No route-level permission/guard found in source window
- edit - Edit: Load the identified record, enforce state/permission field locks, preserve concurrency identity, validate changes, and return without losing filters. Security observed: Permission: AppGeneralSettingsPermissions.ZatcaSendingOptions_Edit,; Guards: PolicyAuthGuard
- edit/:id - Edit: Load the identified record, enforce state/permission field locks, preserve concurrency identity, validate changes, and return without losing filters. Security observed: Permission: AppGeneralSettingsPermissions.PaymentTerms_Edit; Guards: PolicyAuthGuard
- eta-invoices - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.EtaInvoices_List; Guards: PolicyAuthGuard
- generate-app-token - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.GenerateAppToken_View; Guards: PolicyAuthGuard
- history/:invoiceId - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.EtaInvoices_List; Guards: PolicyAuthGuard
- home-help-page - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: No route-level permission/guard found in source window
- integration - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: No route-level permission/guard found in source window
- integration-setting - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.IntegrationSetting_View,; Guards: PolicyAuthGuard
- login - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Guards: AuthGuard , moduleLicenseGuard
- login-redirect - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Guards: AuthGuard , moduleLicenseGuard
- logout - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Guards: AuthGuard , moduleLicenseGuard
- logout-redirect - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Guards: AuthGuard , moduleLicenseGuard
- masterdata - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: No route-level permission/guard found in source window
- my-profile - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.User_Profile; Guards: PolicyAuthGuard
- payment-term - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.PaymentTerms_List; Guards: PolicyAuthGuard
- reports - Import: Provide template/download and upload flow, file/type/size validation, row-level preview/errors, confirmation, duplicate policy, and partial-failure rules. Security observed: No route-level permission/guard found in source window
- requests - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.TaxDefinition_List
- sequence - Sequence: Show current numbering scope and permit only authorized, valid sequence configuration without retroactively renumbering posted documents. Security observed: Permission: 'ALL_PERMISSIONS'; Guards: PolicyAuthGuard
- setting - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.WhatsAppIntegration_View , AppGeneralSettingsPermissions.WhatsAppIntegration_Edit; Guards: PolicyAuthGuard
- signature-service-setting - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.SignatureServiceSetting_View,; Guards: PolicyAuthGuard
- un-authorized - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Guards: AuthGuard , moduleLicenseGuard
- vat-report - Report/print: Expose documented filters, validation, empty/loading/error states, authorized results, totals, drill-through, print, and export behavior where present. Security observed: Permission: AppGeneralSettingsPermissions.ZatcaIntegrationReport_List; Guards: PolicyAuthGuard
- view/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Permission: AppGeneralSettingsPermissions.PaymentTerms_View; Guards: PolicyAuthGuard
- whatsapp-integration-settings - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: No route-level permission/guard found in source window
- workflowconfig - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.User_Profile; Guards: PolicyAuthGuard
- zatca-invoices - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.ZatcaIntegrationReport_List; Guards: PolicyAuthGuard
- zatca-sending-options - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: Permission: AppGeneralSettingsPermissions.ZatcaSendingOptions_View; Guards: PolicyAuthGuard