---
id: SCR-ACC-PRD-002
title: New Product
route: /console/{tenantId}/configuration/accounting/products/new?type={productTypeId}&unit={businessUnitId}
surface: console
product_area: accounting
module: products
revision: 3
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
purpose: Create the selected active-kind product with pricing and selling settings, adding financial configuration
  when authorized.
supports:
- JNY-ACC-PRD-001
- JNY-ACC-PRD-003
- CAP-ACC-PRD-002
- CAP-ACC-PRD-008
- CAP-ACC-PRD-010
- CAP-ACC-PRD-013
- CAP-ACC-PRD-015
- CAP-ACC-PRD-016
permission: accounting.products.create
entry_from:
- /console/{tenantId}/configuration/accounting/products (New <kind>)
exits_to:
- /console/{tenantId}/configuration/accounting/products?type={productTypeId}&unit={businessUnitId}
displays:
- field: The title names the product kind being created.
  source: listProductTypes
- field: Details show Name, editable name-derived Code, description and unit selection without a status control.
  source: the form (DOM-ACC-PRD-001); business units list (Books)
- field: Fixed-price kinds show a grid of audiences, periods and permitted currencies with a mode for each
    cell; giver-priced kinds omit it.
  source: the form (DOM-ACC-PRD-002); business unit currencies and pricing defaults (Books)
- field: Accounting cards capture accounts, recognition, revenue shares, inter-entity references and class
    assignment.
  source: the form (DOM-ACC-PRD-004); accounts, dimensions, merchant accounts and tax classes (Books)
- field: Supported kinds show generated tasks and bulk pricing along with eligibility and notes.
  source: the form (DOM-ACC-PRD-001); CRM task types and queues; Platform eligibility
actions:
- label: Save (product stage)
  operation_id: createProduct
  permission: accounting.products.create
  confirm: false
- label: Save (accounting stage)
  operation_id: replaceProductAccounting
  permission: accounting.product-accounting.update
  confirm: false
- label: Cancel
  operation_id: none
  permission: accounting.products.create
  confirm: false
states:
- loading
- no permission
- no kind chosen
- error
- stage failed
validation:
- BR-CAP-ACC-PRD-001-08
- BR-CAP-ACC-PRD-002-01
- BR-CAP-ACC-PRD-002-15
- BR-CAP-ACC-PRD-008-01
- BR-CAP-ACC-PRD-008-02
- BR-CAP-ACC-PRD-008-15
- BR-CAP-ACC-PRD-010-06
- BR-CAP-ACC-PRD-015-14
- BR-CAP-ACC-PRD-016-10
patterns:
- Standard layout (PageLayout width standard, PageHeader)
- common product component (ProductCommonSections, fourteen sections with removed ones hidden)
- EditorActionBar
- price grid editor
- GL accounts, revenue recognition, revenue splits and inter-entity cards
- toast on save
component: components/accounting-config/products/product-editor-page.tsx (ProductEditorPage) with product-editor.tsx
  (ProductEditor, mode create)
evidence:
- 'react-console at baf6dae3: components/accounting-config/products/product-editor-page.tsx, product-editor.tsx,
  product-common-sections.tsx, product-section-types.ts, product-prices-section.tsx, product-accounting-section.tsx;
  lib/accounting-config/product-form.ts, product-accounting-form.ts, product-accounting-rules.ts.'
- 'services-accounting at f47cb263: modules/products/aws/api/products.routes.ts (createProduct, replaceProductAccounting).'
controls: [TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-005]
---

# New Product

## What the Screen Is For

Creation collects the selected kind's common product details and optional financial setup. The list offers Accounting and Donation creation. Direct navigation resolves an active registered kind, which the form retains.

## What It Shows and Lets People Do

The initial business unit follows the list selection or working context. Name proposes an editable Code until the person changes it. The common editor shows supported sections and keeps removed controls hidden. Save first creates the product, then saves changed accounting when authorized, and returns to the list after the stages succeed.

## States and Errors

Missing authority, absent kind choice and loading failures receive distinct notices. Server name or identity refusals attach to their fields when recognized. Later accounting failure leaves the product created; retry uses that successful baseline.

## Patterns It Must Respect

Retain the shared sections, financial cards and editor action bar used by product host applications. Browser validation can require more than backend validation, including receivables and narrower recognition ranges. These differences remain findings rather than implied service requirements.
