Skip to main content
Question

Data visibility

  • October 23, 2026
  • 1 reply
  • 5 views
  • Translate All

In my scenario user have only branch "A" access. But Sales order created from branch "B" as a consolidated document mixing both branch A and B SKU and the warehouse.  I create inquiry to filter data based on the Warehouse linking sales order master (SOOrder) and reference ( SOLine) table. But user not visible branch B sales order when both table link thorough Join. But only using the referance table can visible branch B Sales order number to the user. How resolved it ?

1 reply

Steve Milner
Varsity III
Forum|alt.badge.img+6

@Godawela Acumatica applies branch security to every table in an inquiry that has a BranchID column, and it checks each table separately. SOLine has its own BranchID, so the branch A lines on that order pass the check. SOOrder is branch B, so the header fails it.

With an inner join, the branch check on SOOrder goes into the join condition. The header can't match, so the line drops out with it. When SOLine is the only table, nothing removes it.

To fix it, open the Relations tab. Set SOLine as the parent table and SOOrder as the child table, and change the join type to Left. The line stays, and the SOOrder columns come back blank for branch B orders. Customer, order date and warehouse are on the line as well (SOLine.CustomerID, OrderDate, SiteID), so take them from SOLine. Put your conditions on SOLine fields too. A condition on an SOOrder field would see those blank values and drop the rows again.

There's one limit. The user still can't open a branch B order on Sales Orders (SO301000). That screen reads SOOrder with the same branch filter, so opening the order needs branch B access on the user's role.

Translate