# Branch pricing QA Item Regression 47826544 - 2026-05-05

Validated locally against `http://demo.enterfarmaplus.test`.

Target product:
- `item_id`: `3`
- `internal_id`: `QA-47826544`
- Description: `QA Item Regression 47826544`

Current state before validation:
- Product already exists in warehouse `1` and warehouse `2`.
- Product already has pricing state in warehouse `2`.
- This matches the accepted workflow: first the product is registered/enabled in the branch, then its presentations are available for local pricing.

What was validated for this product:
- `/items/branch-pricing` loads.
- Product record loads with all available presentations.
- It has 1 presentation: `item_unit_type_id=148`, `Unidad`.
- The branch pricing screen reopens with that presentation.
- Saving local branch price updates only `item_unit_type_warehouse_price`.
- Master item/presentation prices were unchanged.

Database evidence after save:
- `item_unit_type_warehouse_price.id=36`
- `item_unit_type_id=148`
- `warehouse_id=2`
- `price1=99.51`
- Master `item_unit_types.price1=25.50`, `price2=22.00`, `price3=21.00` remained unchanged.

Additional non-initialized branch check:
- A separate product not initialized in warehouse `2` was checked: `item_id=34`, `QA E2E Lot Item 97303852`.
- Backend `/items/record/34` returns its presentation.
- `available_warehouse_ids=[1]`.
- Pricing state for warehouse `2` is not initialized.
- Current UI computed property `localPricingWarehouses` filters branches to `available_warehouse_ids` plus initialized states, so warehouse `2` is not selectable for that product.
- This is considered expected behavior: local prices should not be configured for a branch where the product has not been registered/enabled yet.

Conclusion:
- For `QA Item Regression 47826544`, branch pricing is valid in the already initialized branch.
- The correct business flow is: register/enable the product in the branch, show its presentations, then configure local branch prices.
- No code change is required for the non-initialized branch case because blocking pricing before branch initialization is the accepted behavior.
