Skip to content

Customer Opening Balances

Backlog fieldValue
Story IDAP-SAL-001
EpicSales
Story typeReport
Review statusDraft - business analyst and business owner review required
Source evidenceAppsPortal.Apis controller, application command/query handlers, validators, domain entities, and matching MFE workflow where available
Last source review2026-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

  1. Only authorized users can view or execute the feature's actions.
  2. Required business data, active dependencies, tenant/branch scope, and current document state are validated.
  3. Invalid requests return actionable validation errors without applying a partial change.
  4. Search, list, view, print, and export operations use the same authorized business scope.
  5. Material create, edit, status, approval, posting, reversal, and integration actions are auditable where applicable.
  6. Financial or stock effects are applied atomically and no more than once.

Posting details

  1. The linked Accounting Opening Balance Journal supplies the GL entry; Customer Opening Balance Post does not create a duplicate journal.
  2. Validate Draft, open period, customer details, due dates, and that total/net account nature equals the linked journal line.
  3. Mark the opening document Posted and expose receivable/due balances to statements, aging, Payment In, and reconciliation.
  4. Commit the customer subledger baseline and link together.
  5. Unpost is blocked by later Sales Invoices, Payments, reconciliations, or a closed period.

General ledger posting

ConditionDebitCreditResult
Customer opening Post--Creates no duplicate journal; GL is supplied by linked Accounting Opening Balance Journal.

Other module and document effects

AreaEffectConditional/no effect
Customer subledgerEstablishes receivable and due/aging baseline.Does not create revenue, tax, stock, or cash.
FinanceBecomes eligible for Payment In reconciliation.Posting alone does not receive money.
AccountingRetains link to the already-posted opening journal line.Total/nature mismatch blocks Post.

Core acceptance scenarios

  1. 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.
  2. Given later customer invoices or payments exist, when the operation is attempted, then Unpost is rejected.
  3. 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/pageComponentModeRoute permission/guardMapping confidenceSource
(module default)CustomerCategoryListComponentList/navigationPermission: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:82
(module default)CustomerListComponentList/navigationPermission: AppSalesPermissions.Customer_List; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:130
(module default)CustomerOpeningBalanceListComponentList/navigationPermission: AppSalesPermissions.CustomerOpeningBalance_List; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:488
(module default)LayoutPageComponentList/navigationNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/entry.routes.ts:6
(module default)MainCustomerCategoryComponentList/navigationPermission: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:64
(module default)MarketplaceListComponentList/navigationPermission: AppSalesPermissions.MarketPlace_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:304
(module default)PricePolicyListComponentList/navigationPermission: AppSalesPermissions.PricePolicy_List; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:208
(module default)SalesManListComponentList/navigationPermission: AppSalesPermissions.SalesMan_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:488
(module default)SalesProjectListComponentList/navigationPermission: AppSalesPermissions.Project_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:415
(module default)SalesTeamListComponentList/navigationPermission: AppSalesPermissions.SalesTeam_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:393
(module default)ShiftClosingListComponentList/navigationPermission: AppSalesPermissions.POSSession_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:548
addAddCustomerComponentAddPermission: AppSalesPermissions.Customer_Add; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:141
addAddCustomerOpeeningBalanceComponentAddPermission: AppSalesPermissions.CustomerOpeningBalance_Add; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:499
addAddMarketplaceComponentAddPermission: AppSalesPermissions.MarketPlace_Add; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:315
addAddPricePolicyComponentAddPermission: AppSalesPermissions.PricePolicy_Add; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:220
addAddSalesProjectComponentAddPermission: AppSalesPermissions.Project_Add; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:425
addAddSalesTeamComponentAddPermission: AppSalesPermissions.SalesTeam_Add; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:360
addCreateCustomerCategoryComponentAddPermission: AppSalesPermissions.CustomerCategory_Add; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:94
customer-categoryMainCustomerCategoryComponentList/navigationPermission: AppSalesPermissions.CustomerCategory_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:70
customer-definitionsMainCustomerDefintionComponentList/navigationPermission: AppSalesPermissions.Customer_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:120
customer-opening-balanceMainCustomerOpeningBalanceComponentList/navigationPermission: AppSalesPermissions.CustomerOpeningBalance_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:478
edit/:idEditCustomerCategoryComponentEditPermission: AppSalesPermissions.CustomerCategory_Edit; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:106
edit/:idEditCustomerComponentEditPermission: AppSalesPermissions.Customer_Edit; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:153
edit/:idEditCustomerOpeningBalanceComponentEditPermission: AppSalesPermissions.CustomerOpeningBalance_Edit; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:511
edit/:idEditMarketplaceComponentEditPermission: AppSalesPermissions.MarketPlace_Edit; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:326
edit/:idEditPricePolicyComponentEditPermission: AppSalesPermissions.PricePolicy_Edit; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:232
edit/:idEditSalesProjectComponentEditPermission: AppSalesPermissions.Project_Edit; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:435
edit/:idEditSalesTeamComponentEditPermission: AppSalesPermissions.SalesTeam_Edit; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:371
edit/:idSalesManDetailsComponentEditPermission: AppSalesPermissions.SalesMan_Edit; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:499
import/:errorTypeListFileComponentImportNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:165
import/:errorTypeListFileComponentImportNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:266
import/:errorTypeListFileComponentImportGuards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:466
import/:errorTypeListFileComponentImportNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:531
import/:errorTypeListFilesComponentImportNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:248
logs/:idZatcaLogsComponentView/detailPermission: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:192
logs/:idZatcaLogsComponentView/detailPermission: AppSalesPermissions.ReturnSalesInvoice_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:290
logs/:idZatcaLogsComponentView/detailPermission: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:388
masterdataLazy-loaded routeList/navigationNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/entry.routes.ts:23
projectMainSalesProjectComponentList/navigationPermission: AppSalesPermissions.Project_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:405
sales-manMainSalesManComponentList/navigationPermission: AppSalesPermissions.SalesMan_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:478
sales-teamMainSalesTeamComponentList/navigationPermission: AppSalesPermissions.SalesTeam_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:350
sequenceSequenceComponentSequencePermission: AppSalesPermissions.Customer_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:175
sequenceSequenceComponentSequenceNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:256
sequenceSequenceComponentSequenceNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:455
sequenceSequenceComponentSequenceNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:521
sequenceSequenceComponentSequenceNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:238
sequenceSequenceComponentSequencePermission: AppSalesPermissions.ProjectInvoice_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:326
sequenceSequenceComponentSequencePermission: AppSalesPermissions.SalesOrder_ListFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:400
sequenceSequenceComponentSequenceGuards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:466
sessionsMainShiftClosingComponentList/navigationPermission: AppSalesPermissions.POSSession_List; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:538
transactionsLazy-loaded routeList/navigationNo route-level permission/guard found in source windowFeature token matchapps/sales/src/app/remote-entry/entry.routes.ts:28
view/:idViewCustomerDefintionComponentView/detailPermission: AppSalesPermissions.Customer_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:185
view/:idViewCustomerOpeningBalanceComponentView/detailPermission: AppSalesPermissions.CustomerOpeningBalance_View; Guards: AuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:524
view/:idViewMarketplaceComponentView/detailPermission: AppSalesPermissions.MarketPlace_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:337
view/:idViewPricePolicyComponentView/detailPermission: AppSalesPermissions.PricePolicy_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:244
view/:idViewSalesComponentView/detailPermission: AppSalesPermissions.InvoiceService_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:181
view/:idViewSalesManComponentView/detailPermission: AppSalesPermissions.SalesMan_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:510
view/:idViewSalesProjectComponentView/detailPermission: AppSalesPermissions.Project_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:445
view/:idViewSalesTeamComponentView/detailPermission: AppSalesPermissions.SalesTeam_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/sales/sales.module.ts:382
view/:idViewShiftClosingComponentView/detailPermission: AppSalesPermissions.POSSession_View; Guards: PolicyAuthGuardFeature token matchapps/sales/src/app/remote-entry/transaction/transaction.module.ts:558

Observed frontend fields and validation

ComponentControlObserved frontend ruleComponent source
AddCustomerComponentadditionalStreetNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentallowCreditLimitVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentbuildingNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcategoryIdRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcityNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcitySubdivisionNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcommercialRegistrationNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactEmailVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactFaxVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactMobileVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactMobileCodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactPersonMobileVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactPersonMobileCodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactPersonNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactPersonPhoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactPhoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcontactWebsiteVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcountryIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcountrySubEntityVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcreditLimitConditionally required/validated in componentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentcurrencyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentdiscountAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentmarketTypeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentnationalNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentotherIDVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentpaymentTermIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentphotoVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentpostalZoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentpricePolicyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentreceivableAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentregistrationNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentsalesAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentsalesReturnAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponentstreetVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponenttagIdsVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerComponenttaxIdentificationNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/add-customer/add-customer.component.ts
AddCustomerOpeeningBalanceComponentbalanceRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts
AddCustomerOpeeningBalanceComponentbalanceTypeRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts
AddCustomerOpeeningBalanceComponentcustomerIdRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts
AddCustomerOpeeningBalanceComponentJournalLineRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts
AddCustomerOpeeningBalanceComponentOpeningJournalRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/add-customer-opeening-balance/add-customer-opeening-balance.component.ts
AddMarketplaceComponenterrorRadiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts
AddMarketplaceComponentlatitudeRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts
AddMarketplaceComponentlongitudeRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts
AddMarketplaceComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts
AddMarketplaceComponentnameArVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts
AddMarketplaceComponentstatusRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/add-marketplace/add-marketplace.component.ts
AddPricePolicyComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts
AddPricePolicyComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts
AddPricePolicyComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/pricelist/add-price-policy/add-price-policy.component.ts
AddSalesProjectComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentcontractValueRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentcustomerIdRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentdescriptionVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentendDateRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesProjectComponentstartDateRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/add-sales-project/add-sales-project.component.ts
AddSalesTeamComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-team/add-sales-team/add-sales-team.component.ts
AddSalesTeamComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-team/add-sales-team/add-sales-team.component.ts
CreateCustomerCategoryComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentdiscountAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentmarketTypeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentpaymentTermIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentpricePolicyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentreceivableAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentsalesAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
CreateCustomerCategoryComponentsalesReturnAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/create-customer-category/create-customer-category.component.ts
EditCustomerCategoryComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentdiscountAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentmarketTypeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentpaymentTermIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentpricePolicyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentreceivableAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentsalesAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerCategoryComponentsalesReturnAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-category/edit-customer-category/edit-customer-category.component.ts
EditCustomerComponentadditionalStreetNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentallowCreditLimitVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentbuildingNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcategoryIdRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcityNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcitySubdivisionNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcommercialRegistrationNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactEmailVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactFaxVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactMobileVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactMobileCodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactPersonMobileVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactPersonMobileCodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactPersonNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactPersonPhoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactPhoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcontactWebsiteVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcountryIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcountrySubEntityVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcreditLimitConditionally required/validated in componentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentcurrencyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentdiscountAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponenterrorRadiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentlatitudeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentlongitudeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentmarketTypeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentnationalNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentotherIDVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentpaymentTermIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentphotoVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentpostalZoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentpricePolicyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentreceivableAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentregistrationNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentsalesAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentsalesReturnAccountIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponentstreetVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponenttagIdsVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerComponenttaxIdentificationNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/edit-customer/edit-customer.component.ts
EditCustomerOpeningBalanceComponentbalanceRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts
EditCustomerOpeningBalanceComponentbalanceTypeRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts
EditCustomerOpeningBalanceComponentcustomerIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts
EditCustomerOpeningBalanceComponentOpeningJournalRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/customer-opening-balance/edit-customer-opening-balance/edit-customer-opening-balance.component.ts
EditMarketplaceComponenterrorRadiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts
EditMarketplaceComponentlatitudeRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts
EditMarketplaceComponentlongitudeRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts
EditMarketplaceComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts
EditMarketplaceComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts
EditMarketplaceComponentstatusRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/edit-marketplace/edit-marketplace.component.ts
EditPricePolicyComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts
EditPricePolicyComponentisDefaultVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts
EditPricePolicyComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts
EditPricePolicyComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/price-policy/edit-price-policy/edit-price-policy.component.ts
EditSalesProjectComponentcontractValueRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesProjectComponentcustomerIdRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesProjectComponentdescriptionVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesProjectComponentendDateRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesProjectComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesProjectComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesProjectComponentstartDateRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-project/edit-sales-project/edit-sales-project.component.ts
EditSalesTeamComponentnameRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-team/edit-sales-team/edit-sales-team.component.ts
EditSalesTeamComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-team/edit-sales-team/edit-sales-team.component.ts
MarketplaceTapListComponentaddressVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts
MarketplaceTapListComponentidVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts
MarketplaceTapListComponentmarketplaceIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts
MarketplaceTapListComponentsalesManIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/components/marketplace-tap-list/marketplace-tap-list.component.ts
SalesManDetailsComponentaddCustomerVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentBalanceVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentcanCreateReturnSalesInvoiceVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentcollectMoneyVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentcommissionBascisVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentcommissionPercentageVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentcreditNoteVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentisActiveVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentpaymentMethodsVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentpaymentTermIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentpricePolicyIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentproofOfVisitVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentProofOfVisitTypeConditionally required/validated in componentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentradiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentsalesInvoiceVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentsalesOrderVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentshowCustomerStatementVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponenttargetAmountVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponenttreasuryIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentupdateCustomerInfoVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentuserIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
SalesManDetailsComponentwarehouseIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/sales-man-details/sales-man-details.component.ts
ViewCustomerDefintionComponentadditionalStreetNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentbuildingNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcategoryIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcityNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcitySubdivisionNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcommercialRegistrationNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactEmailVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactFaxVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactMobileVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactMobileCodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactPersonMobileVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactPersonMobileCodeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactPersonNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactPersonPhoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactPhoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcontactWebsiteVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcountryIdVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcountrySubEntityVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcreditLimitVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentcurrencyNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentdiscountAccountNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponenterrorRadiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentlatitudeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentlongitudeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentmarketTypeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentnameArVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentnationalNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentotherIDVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentpaymentTermNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentphotoVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentpostalZoneVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentpricePolicyNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentreceivableAccountNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentregistrationNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentsalesAccountNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentsalesReturnAccountNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponentstreetVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponenttagIdsVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewCustomerDefintionComponenttaxIdentificationNumberVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/customer-definitions/view-customer-defintion/view-customer-defintion.component.ts
ViewMarketplaceComponenterrorRadiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts
ViewMarketplaceComponentlatitudeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts
ViewMarketplaceComponentlongitudeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts
ViewMarketplaceComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts
ViewMarketplaceComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts
ViewMarketplaceComponentstatusRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/marketplace-list/view-marketplace/view-marketplace.component.ts
ViewSalesManComponentaddCustomerVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentallowVehicleAssignedVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentBalanceVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentcanCreateReturnSalesInvoiceVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentcollectMoneyVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentcommissionBascisVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentcommissionPercentageVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentcreditNoteVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentisActiveVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentpricePolicyNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentproofOfVisitVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentProofOfVisitTypeVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentradiusVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentsalesInvoiceVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentsalesOrderVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentsalesTeamNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentshowCustomerStatementVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponenttargetAmountVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentupdateCustomerInfoVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesManComponentuserNameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-man/view-sales-man/view-sales-man.component.ts
ViewSalesTeamComponentnameVisible control; optional or API-dependentapps/sales/src/app/remote-entry/sales/pages/sales-team/view-sales-team/view-sales-team.component.ts
ViewSalesTeamComponentnameArRequired in component validatorapps/sales/src/app/remote-entry/sales/pages/sales-team/view-sales-team/view-sales-team.component.ts

Observed frontend actions

ComponentClick action/handlerBusiness review requirementComponent source
AddCustomerComponentonShowDialogOpen 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
AddCustomerOpeeningBalanceComponentaddLineAdd 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
AddCustomerOpeeningBalanceComponentopenDialogOpen 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
AddCustomerOpeeningBalanceComponentopenDistributeDocument 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
AddCustomerOpeeningBalanceComponentremoveByFrontAvailable 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
AddMarketplaceComponentonShowDialogOpen 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
AddPricePolicyComponentopenDialogOpen 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
AddPricePolicyComponentupdateDocument 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
CustomerCategoryListComponentonDeleteAvailable 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
CustomerCategoryListComponentonEditOpen 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
CustomerListComponentonDeleteAvailable 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
CustomerListComponentonEditOpen 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
CustomerListComponentonViewOpen 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
CustomerOpeningBalanceListComponentonDeleteAvailable 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
CustomerOpeningBalanceListComponentonEditOpen 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
CustomerOpeningBalanceListComponentonPostAvailable 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
CustomerOpeningBalanceListComponentonUnPostAvailable 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
CustomerOpeningBalanceListComponentonViewOpen 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
EditCustomerOpeningBalanceComponentaddLineAdd 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
EditCustomerOpeningBalanceComponentonDeleteAvailable 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
EditCustomerOpeningBalanceComponentopenDistributeDocument 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
EditMarketplaceComponentonShowDialogOpen 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
EditPricePolicyComponentdeleteRowAvailable 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
EditPricePolicyComponentopenDialogOpen 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
EditPricePolicyComponentupdateDocument 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
MarketplaceListComponentonDeleteAvailable 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
MarketplaceListComponentonEditOpen 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
MarketplaceListComponentonShowMapDocument 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
MarketplaceListComponentonViewOpen 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
MarketplaceTapListComponentonAddDocument 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
MarketplaceTapListComponentonCreateDialogeCancelOpen 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
MarketplaceTapListComponentonCreateDialogeSaveOpen 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
MarketplaceTapListComponentonDeleteAvailable 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
MarketplaceTapListComponentonEditOpen 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
MarketplaceTapListComponentonEditDialogeCancelOpen 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
MarketplaceTapListComponentonEditDialogeUpdateOpen 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
PricePolicyListComponentaddWithDataDocument 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
PricePolicyListComponentonDeleteAvailable 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
PricePolicyListComponentonEditOpen 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
PricePolicyListComponentonViewOpen 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
SalesManDetailsComponentactiveTabDocument 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
SalesManDetailsComponentchangeSalesNumberDocument 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
SalesManDetailsComponentenableUserSelectionDocument 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
SalesManDetailsComponentonCancelLeave 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
SalesManDetailsComponentonSaveValidate 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
SalesManListComponentonDeleteAvailable 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
SalesManListComponentonEditOpen 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
SalesManListComponentonViewOpen 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
SalesProjectListComponentonDeleteAvailable 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
SalesProjectListComponentonEditOpen 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
SalesProjectListComponentonViewOpen 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
SalesTeamListComponentonDeleteAvailable 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
SalesTeamListComponentonEditOpen 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
SalesTeamListComponentonViewOpen 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
ShiftClosingListComponentonViewOpen 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
ViewCustomerOpeningBalanceComponentopenDistributeDocument 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
ViewSalesComponentopenDescriptionPopupDocument 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
ViewSalesComponentpreformPrintGenerate 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
ViewSalesComponentreconcilePaymentDocument 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
ViewSalesComponentrouteToJournalentryViewOpen 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
ViewSalesComponentrouteToStockNavigate 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
ViewSalesManComponentactiveTabDocument 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
ViewSalesManComponentonEditOpen 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
ViewSalesProjectComponentonAddInvoiceDocument 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
ViewSalesProjectComponentonViewInvoiceOpen 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
ViewShiftClosingComponentonViewOpen 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
ViewShiftClosingComponentsetUpTrackingOpen 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

  1. (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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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

Internal Documentation — Microtec