Appearance
Customer Opening Balances
| Backlog field | Value |
|---|---|
| Story ID | AP-SAL-001 |
| Epic | Sales |
| Story type | Report |
| 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 implementation accountants, I want to load and post starting customer balances so that receivables begin from an approved baseline.
Posting reference: AppsPortal Posting Ledger explains debit/credit construction. Delegation and Interaction Contracts explains module ownership, delegated commands, linked records, commit boundaries, and reversal propagation.
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.
Posting details
- The linked Accounting Opening Balance Journal supplies the GL entry; Customer Opening Balance Post does not create a duplicate journal.
- Validate Draft, open period, customer details, due dates, and that total/net account nature equals the linked journal line.
- Mark the opening document Posted and expose receivable/due balances to statements, aging, Payment In, and reconciliation.
- Commit the customer subledger baseline and link together.
- Unpost is blocked by later Sales Invoices, Payments, reconciliations, or a closed period.
General ledger posting
| Condition | Debit | Credit | Result |
|---|---|---|---|
| Customer opening Post | - | - | Creates no duplicate journal; GL is supplied by linked Accounting Opening Balance Journal. |
Other module and document effects
| Area | Effect | Conditional/no effect |
|---|---|---|
| Customer subledger | Establishes receivable and due/aging baseline. | Does not create revenue, tax, stock, or cash. |
| Finance | Becomes eligible for Payment In reconciliation. | Posting alone does not receive money. |
| Accounting | Retains link to the already-posted opening journal line. | Total/nature mismatch blocks Post. |
Core acceptance scenarios
- Given customer opening details matching the linked journal amount and account nature, when the accountant clicks Post, then customer receivable baseline and due dates become effective.
- Given later customer invoices or payments exist, when the operation is attempted, then Unpost is rejected.
- Given the same Post request is retried after success, when the source is no longer Draft, then no duplicate journal, stock, balance, payment, or lifecycle effect is created.
Business rules
Required
Draft opening document, open date/period, customer balances, debit/credit nature, amount/currency, and linked journal line are required.
Optional or conditional
Due dates, reference, and notes are optional/conditional.
Action behavior
Post verifies detail total/net nature against journal and creates receivable baseline/due balances.
Blocking rule or downstream effect
Unpost requires open period and no later posted invoice/payment transactions.
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) | CustomerCategoryListComponent | List/navigation | Permission: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:82 |
| (module default) | CustomerListComponent | List/navigation | Permission: AppSalesPermissions.Customer_List; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:130 |
| (module default) | CustomerOpeningBalanceListComponent | List/navigation | Permission: AppSalesPermissions.CustomerOpeningBalance_List; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:488 |
| (module default) | LayoutPageComponent | List/navigation | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/entry.routes.ts:6 |
| (module default) | MainCustomerCategoryComponent | List/navigation | Permission: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:64 |
| (module default) | MarketplaceListComponent | List/navigation | Permission: AppSalesPermissions.MarketPlace_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:304 |
| (module default) | PricePolicyListComponent | List/navigation | Permission: AppSalesPermissions.PricePolicy_List; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:208 |
| (module default) | SalesManListComponent | List/navigation | Permission: AppSalesPermissions.SalesMan_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:488 |
| (module default) | SalesProjectListComponent | List/navigation | Permission: AppSalesPermissions.Project_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:415 |
| (module default) | SalesTeamListComponent | List/navigation | Permission: AppSalesPermissions.SalesTeam_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:393 |
| (module default) | ShiftClosingListComponent | List/navigation | Permission: AppSalesPermissions.POSSession_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:548 |
| add | AddCustomerComponent | Add | Permission: AppSalesPermissions.Customer_Add; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:141 |
| add | AddCustomerOpeeningBalanceComponent | Add | Permission: AppSalesPermissions.CustomerOpeningBalance_Add; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:499 |
| add | AddMarketplaceComponent | Add | Permission: AppSalesPermissions.MarketPlace_Add; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:315 |
| add | AddPricePolicyComponent | Add | Permission: AppSalesPermissions.PricePolicy_Add; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:220 |
| add | AddSalesProjectComponent | Add | Permission: AppSalesPermissions.Project_Add; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:425 |
| add | AddSalesTeamComponent | Add | Permission: AppSalesPermissions.SalesTeam_Add; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:360 |
| add | CreateCustomerCategoryComponent | Add | Permission: AppSalesPermissions.CustomerCategory_Add; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:94 |
| customer-category | MainCustomerCategoryComponent | List/navigation | Permission: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:70 |
| customer-definitions | MainCustomerDefintionComponent | List/navigation | Permission: AppSalesPermissions.Customer_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:120 |
| customer-opening-balance | MainCustomerOpeningBalanceComponent | List/navigation | Permission: AppSalesPermissions.CustomerOpeningBalance_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:478 |
| edit/:id | EditCustomerCategoryComponent | Edit | Permission: AppSalesPermissions.CustomerCategory_Edit; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:106 |
| edit/:id | EditCustomerComponent | Edit | Permission: AppSalesPermissions.Customer_Edit; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:153 |
| edit/:id | EditCustomerOpeningBalanceComponent | Edit | Permission: AppSalesPermissions.CustomerOpeningBalance_Edit; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:511 |
| edit/:id | EditMarketplaceComponent | Edit | Permission: AppSalesPermissions.MarketPlace_Edit; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:326 |
| edit/:id | EditPricePolicyComponent | Edit | Permission: AppSalesPermissions.PricePolicy_Edit; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:232 |
| edit/:id | EditSalesProjectComponent | Edit | Permission: AppSalesPermissions.Project_Edit; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:435 |
| edit/:id | EditSalesTeamComponent | Edit | Permission: AppSalesPermissions.SalesTeam_Edit; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:371 |
| edit/:id | SalesManDetailsComponent | Edit | Permission: AppSalesPermissions.SalesMan_Edit; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:499 |
| import/:errorType | ListFileComponent | Import | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:165 |
| import/:errorType | ListFileComponent | Import | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:266 |
| import/:errorType | ListFileComponent | Import | Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:466 |
| import/:errorType | ListFileComponent | Import | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:531 |
| import/:errorType | ListFilesComponent | Import | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:248 |
| logs/:id | ZatcaLogsComponent | View/detail | Permission: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:192 |
| logs/:id | ZatcaLogsComponent | View/detail | Permission: AppSalesPermissions.ReturnSalesInvoice_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:290 |
| logs/:id | ZatcaLogsComponent | View/detail | Permission: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:388 |
| masterdata | Lazy-loaded route | List/navigation | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/entry.routes.ts:23 |
| project | MainSalesProjectComponent | List/navigation | Permission: AppSalesPermissions.Project_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:405 |
| sales-man | MainSalesManComponent | List/navigation | Permission: AppSalesPermissions.SalesMan_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:478 |
| sales-team | MainSalesTeamComponent | List/navigation | Permission: AppSalesPermissions.SalesTeam_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:350 |
| sequence | SequenceComponent | Sequence | Permission: AppSalesPermissions.Customer_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:175 |
| sequence | SequenceComponent | Sequence | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:256 |
| sequence | SequenceComponent | Sequence | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:455 |
| sequence | SequenceComponent | Sequence | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:521 |
| sequence | SequenceComponent | Sequence | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:238 |
| sequence | SequenceComponent | Sequence | Permission: AppSalesPermissions.ProjectInvoice_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:326 |
| sequence | SequenceComponent | Sequence | Permission: AppSalesPermissions.SalesOrder_List | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:400 |
| sequence | SequenceComponent | Sequence | Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:466 |
| sessions | MainShiftClosingComponent | List/navigation | Permission: AppSalesPermissions.POSSession_List; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:538 |
| transactions | Lazy-loaded route | List/navigation | No route-level permission/guard found in source window | Feature token match | apps/sales/src/app/remote-entry/entry.routes.ts:28 |
| view/:id | ViewCustomerDefintionComponent | View/detail | Permission: AppSalesPermissions.Customer_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:185 |
| view/:id | ViewCustomerOpeningBalanceComponent | View/detail | Permission: AppSalesPermissions.CustomerOpeningBalance_View; Guards: AuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:524 |
| view/:id | ViewMarketplaceComponent | View/detail | Permission: AppSalesPermissions.MarketPlace_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:337 |
| view/:id | ViewPricePolicyComponent | View/detail | Permission: AppSalesPermissions.PricePolicy_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:244 |
| view/:id | ViewSalesComponent | View/detail | Permission: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:181 |
| view/:id | ViewSalesManComponent | View/detail | Permission: AppSalesPermissions.SalesMan_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:510 |
| view/:id | ViewSalesProjectComponent | View/detail | Permission: AppSalesPermissions.Project_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:445 |
| view/:id | ViewSalesTeamComponent | View/detail | Permission: AppSalesPermissions.SalesTeam_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/sales/sales.module.ts:382 |
| view/:id | ViewShiftClosingComponent | View/detail | Permission: AppSalesPermissions.POSSession_View; Guards: PolicyAuthGuard | Feature token match | apps/sales/src/app/remote-entry/transaction/transaction.module.ts:558 |
Observed frontend fields and validation
| Component | Control | Observed frontend rule | Component source |
|---|---|---|---|
| AddCustomerComponent | additionalStreetName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | allowCreditLimit | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | buildingNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | categoryId | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | cityName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | citySubdivisionName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | commercialRegistrationNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactEmail | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactFax | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactMobile | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactMobileCode | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactPersonMobile | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactPersonMobileCode | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactPersonName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactPersonPhone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactPhone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | contactWebsite | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | countryId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | countrySubEntity | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | creditLimit | Conditionally required/validated in component | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | currencyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | discountAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | marketType | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | nationalNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | otherID | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | paymentTermId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | photo | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | postalZone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | pricePolicyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | receivableAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | registrationName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | salesAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | salesReturnAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | street | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | tagIds | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerComponent | taxIdentificationNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerOpeeningBalanceComponent | balance | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | balanceType | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | customerId | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | JournalLine | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | OpeningJournal | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddMarketplaceComponent | errorRadius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddMarketplaceComponent | latitude | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddMarketplaceComponent | longitude | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddMarketplaceComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddMarketplaceComponent | nameAr | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddMarketplaceComponent | status | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddPricePolicyComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts |
| AddPricePolicyComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts |
| AddPricePolicyComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts |
| AddSalesProjectComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | contractValue | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | customerId | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | description | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | endDate | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesProjectComponent | startDate | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts |
| AddSalesTeamComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-team/add-sales-team/add-sales-team.component.ts |
| AddSalesTeamComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-team/add-sales-team/add-sales-team.component.ts |
| CreateCustomerCategoryComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | discountAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | marketType | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | paymentTermId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | pricePolicyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | receivableAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | salesAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| CreateCustomerCategoryComponent | salesReturnAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts |
| EditCustomerCategoryComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | discountAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | marketType | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | paymentTermId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | pricePolicyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | receivableAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | salesAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerCategoryComponent | salesReturnAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts |
| EditCustomerComponent | additionalStreetName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | allowCreditLimit | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | buildingNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | categoryId | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | cityName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | citySubdivisionName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | commercialRegistrationNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactEmail | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactFax | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactMobile | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactMobileCode | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactPersonMobile | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactPersonMobileCode | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactPersonName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactPersonPhone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactPhone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | contactWebsite | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | countryId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | countrySubEntity | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | creditLimit | Conditionally required/validated in component | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | currencyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | discountAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | errorRadius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | latitude | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | longitude | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | marketType | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | nationalNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | otherID | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | paymentTermId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | photo | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | postalZone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | pricePolicyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | receivableAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | registrationName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | salesAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | salesReturnAccountId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | street | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | tagIds | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerComponent | taxIdentificationNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts |
| EditCustomerOpeningBalanceComponent | balance | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditCustomerOpeningBalanceComponent | balanceType | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditCustomerOpeningBalanceComponent | customerId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditCustomerOpeningBalanceComponent | OpeningJournal | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditMarketplaceComponent | errorRadius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditMarketplaceComponent | latitude | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditMarketplaceComponent | longitude | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditMarketplaceComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditMarketplaceComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditMarketplaceComponent | status | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditPricePolicyComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| EditPricePolicyComponent | isDefault | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| EditPricePolicyComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| EditPricePolicyComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| EditSalesProjectComponent | contractValue | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesProjectComponent | customerId | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesProjectComponent | description | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesProjectComponent | endDate | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesProjectComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesProjectComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesProjectComponent | startDate | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts |
| EditSalesTeamComponent | name | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-team/edit-sales-team/edit-sales-team.component.ts |
| EditSalesTeamComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-team/edit-sales-team/edit-sales-team.component.ts |
| MarketplaceTapListComponent | address | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | id | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | marketplaceId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | salesManId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| SalesManDetailsComponent | addCustomer | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | Balance | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | canCreateReturnSalesInvoice | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | collectMoney | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | commissionBascis | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | commissionPercentage | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | creditNote | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | isActive | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | paymentMethods | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | paymentTermId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | pricePolicyId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | proofOfVisit | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | ProofOfVisitType | Conditionally required/validated in component | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | radius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | salesInvoice | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | salesOrder | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | showCustomerStatement | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | targetAmount | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | treasuryId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | updateCustomerInfo | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | userId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | warehouseId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| ViewCustomerDefintionComponent | additionalStreetName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | buildingNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | categoryId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | cityName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | citySubdivisionName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | code | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | commercialRegistrationNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactEmail | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactFax | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactMobile | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactMobileCode | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactPersonMobile | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactPersonMobileCode | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactPersonName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactPersonPhone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactPhone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | contactWebsite | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | countryId | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | countrySubEntity | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | creditLimit | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | currencyName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | discountAccountName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | errorRadius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | latitude | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | longitude | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | marketType | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | nameAr | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | nationalNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | otherID | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | paymentTermName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | photo | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | postalZone | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | pricePolicyName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | receivableAccountName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | registrationName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | salesAccountName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | salesReturnAccountName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | street | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | tagIds | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewCustomerDefintionComponent | taxIdentificationNumber | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts |
| ViewMarketplaceComponent | errorRadius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts |
| ViewMarketplaceComponent | latitude | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts |
| ViewMarketplaceComponent | longitude | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts |
| ViewMarketplaceComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts |
| ViewMarketplaceComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts |
| ViewMarketplaceComponent | status | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts |
| ViewSalesManComponent | addCustomer | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | allowVehicleAssigned | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | Balance | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | canCreateReturnSalesInvoice | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | collectMoney | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | commissionBascis | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | commissionPercentage | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | creditNote | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | isActive | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | pricePolicyName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | proofOfVisit | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | ProofOfVisitType | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | radius | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | salesInvoice | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | salesOrder | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | salesTeamName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | showCustomerStatement | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | targetAmount | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | updateCustomerInfo | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | userName | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesTeamComponent | name | Visible control; optional or API-dependent | apps/sales/src/app/remote-entry/sales/pages/sales-team/view-sales-team/view-sales-team.component.ts |
| ViewSalesTeamComponent | nameAr | Required in component validator | apps/sales/src/app/remote-entry/sales/pages/sales-team/view-sales-team/view-sales-team.component.ts |
Observed frontend actions
| Component | Click action/handler | Business review requirement | Component source |
|---|---|---|---|
| AddCustomerComponent | onShowDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts |
| AddCustomerOpeeningBalanceComponent | addLine | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | openDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | openDistribute | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddCustomerOpeeningBalanceComponent | removeByFront | 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/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts |
| AddMarketplaceComponent | onShowDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts |
| AddPricePolicyComponent | openDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts |
| AddPricePolicyComponent | update | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts |
| CustomerCategoryListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-category/customer-category-list/customer-category-list.component.ts |
| CustomerCategoryListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-category/customer-category-list/customer-category-list.component.ts |
| CustomerListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-definitions/customer-list/customer-list.component.ts |
| CustomerListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-definitions/customer-list/customer-list.component.ts |
| CustomerListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-definitions/customer-list/customer-list.component.ts |
| CustomerOpeningBalanceListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-opening-balance/customer-opening-balance-list/customer-opening-balance-list.component.ts |
| CustomerOpeningBalanceListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-opening-balance/customer-opening-balance-list/customer-opening-balance-list.component.ts |
| CustomerOpeningBalanceListComponent | onPost | Available only for a postable Draft and Post permission; confirm the document, prevent a second submission, call the posting API, and refresh status, journal/stock links, and row actions. Failure must keep the pre-post state. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/customer-opening-balance-list/customer-opening-balance-list.component.ts |
| CustomerOpeningBalanceListComponent | onUnPost | Available only for a postable Draft and Post permission; confirm the document, prevent a second submission, call the posting API, and refresh status, journal/stock links, and row actions. Failure must keep the pre-post state. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/customer-opening-balance-list/customer-opening-balance-list.component.ts |
| CustomerOpeningBalanceListComponent | 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/sales/src/app/remote-entry/sales/pages/customer-opening-balance/customer-opening-balance-list/customer-opening-balance-list.component.ts |
| EditCustomerOpeningBalanceComponent | addLine | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditCustomerOpeningBalanceComponent | 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/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditCustomerOpeningBalanceComponent | openDistribute | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts |
| EditMarketplaceComponent | onShowDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts |
| EditPricePolicyComponent | deleteRow | 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/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| EditPricePolicyComponent | openDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| EditPricePolicyComponent | update | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts |
| MarketplaceListComponent | 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/sales/src/app/remote-entry/sales/pages/marketplace-list/marketplace-list/marketplace-list.component.ts |
| MarketplaceListComponent | 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/sales/src/app/remote-entry/sales/pages/marketplace-list/marketplace-list/marketplace-list.component.ts |
| MarketplaceListComponent | onShowMap | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/marketplace-list/marketplace-list/marketplace-list.component.ts |
| MarketplaceListComponent | 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/sales/src/app/remote-entry/sales/pages/marketplace-list/marketplace-list/marketplace-list.component.ts |
| MarketplaceTapListComponent | onAdd | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | onCreateDialogeCancel | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | onCreateDialogeSave | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | 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/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | 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/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | onEditDialogeCancel | 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/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| MarketplaceTapListComponent | onEditDialogeUpdate | 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/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts |
| PricePolicyListComponent | addWithData | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/price-policy/price-policy-list/price-policy-list.component.ts |
| PricePolicyListComponent | 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/sales/src/app/remote-entry/sales/pages/price-policy/price-policy-list/price-policy-list.component.ts |
| PricePolicyListComponent | 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/sales/src/app/remote-entry/sales/pages/price-policy/price-policy-list/price-policy-list.component.ts |
| PricePolicyListComponent | 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/sales/src/app/remote-entry/sales/pages/price-policy/price-policy-list/price-policy-list.component.ts |
| SalesManDetailsComponent | activeTab | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | changeSalesNumber | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | enableUserSelection | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManDetailsComponent | 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/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts |
| SalesManListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-list/sales-man-list.component.ts |
| SalesManListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-list/sales-man-list.component.ts |
| SalesManListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-list/sales-man-list.component.ts |
| SalesProjectListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-project/sales-project-list/sales-project-list.component.ts |
| SalesProjectListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-project/sales-project-list/sales-project-list.component.ts |
| SalesProjectListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-project/sales-project-list/sales-project-list.component.ts |
| SalesTeamListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-team/sales-team-list/sales-team-list.component.ts |
| SalesTeamListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-team/sales-team-list/sales-team-list.component.ts |
| SalesTeamListComponent | 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/sales/src/app/remote-entry/sales/pages/sales-team/sales-team-list/sales-team-list.component.ts |
| ShiftClosingListComponent | 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/sales/src/app/remote-entry/transaction/pages/shift-closing/shift-closing-list/shift-closing-list.component.ts |
| ViewCustomerOpeningBalanceComponent | openDistribute | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/view-customer-opening-balance/view-customer-opening-balance.component.ts |
| ViewSalesComponent | openDescriptionPopup | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/transaction/pages/sales-invoices/view-sales/view-sales.component.ts |
| ViewSalesComponent | preformPrint | 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/sales/src/app/remote-entry/transaction/pages/sales-invoices/view-sales/view-sales.component.ts |
| ViewSalesComponent | reconcilePayment | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/transaction/pages/sales-invoices/view-sales/view-sales.component.ts |
| ViewSalesComponent | routeToJournalentryView | 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/sales/src/app/remote-entry/transaction/pages/sales-invoices/view-sales/view-sales.component.ts |
| ViewSalesComponent | routeToStock | Navigate only when the transaction produced a linked Stock In/Stock Out record and Inventory view permission is available; service-only/no-stock cases expose no stock link. | apps/sales/src/app/remote-entry/transaction/pages/sales-invoices/view-sales/view-sales.component.ts |
| ViewSalesManComponent | activeTab | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesManComponent | 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/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts |
| ViewSalesProjectComponent | onAddInvoice | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/sales/src/app/remote-entry/sales/pages/sales-project/view-sales-project/view-sales-project.component.ts |
| ViewSalesProjectComponent | onViewInvoice | 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/sales/src/app/remote-entry/sales/pages/sales-project/view-sales-project/view-sales-project.component.ts |
| ViewShiftClosingComponent | 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/sales/src/app/remote-entry/transaction/pages/shift-closing/view-shift-closing/view-shift-closing.component.ts |
| ViewShiftClosingComponent | setUpTracking | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/sales/src/app/remote-entry/transaction/pages/shift-closing/view-shift-closing/view-shift-closing.component.ts |
Page-specific frontend acceptance criteria
- (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: AppSalesPermissions.SalesMan_List; Guards: PolicyAuthGuard
- add - Add: Render permitted fields, required indicators, defaults, dependent lookups, validation, Save/Cancel, loading, success, and API-error states. Security observed: Permission: AppSalesPermissions.Project_Add; Guards: PolicyAuthGuard
- customer-category - 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: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuard
- customer-definitions - 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: AppSalesPermissions.Customer_List; Guards: PolicyAuthGuard
- customer-opening-balance - 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: AppSalesPermissions.CustomerOpeningBalance_List; 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: AppSalesPermissions.Project_Edit; Guards: PolicyAuthGuard
- import/:errorType - 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
- logs/: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: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuard
- 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
- project - 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: AppSalesPermissions.Project_List; Guards: PolicyAuthGuard
- sales-man - 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: AppSalesPermissions.SalesMan_List; Guards: PolicyAuthGuard
- sales-team - 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: AppSalesPermissions.SalesTeam_List; Guards: PolicyAuthGuard
- sequence - Sequence: Show current numbering scope and permit only authorized, valid sequence configuration without retroactively renumbering posted documents. Security observed: Permission: AppSalesPermissions.ProjectInvoice_List; Guards: PolicyAuthGuard
- sessions - 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: AppSalesPermissions.POSSession_List; Guards: PolicyAuthGuard
- transactions - 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
- 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: AppSalesPermissions.Project_View; Guards: PolicyAuthGuard