I need guidance on customizing Global Search behavior for Invoice Reference Numbers.
Current Behavior:
If Invoice status = Balanced, search opens Invoices (SO303000)
If Invoice status = Open or Closed, search opens Invoices and Memos (AR301000)
For invoices with status Open or Closed, I want Global Search to return two results:
One navigating to Invoices (SO303000)
Another navigating to Invoices and Memos (AR301000)
Is it possible to configure or customize Global Search to show multiple navigation results for the same reference number? If yes, how can this be achieved (Customization Project, DAC extension, or any specific configuration)?
Any guidance or examples would be helpful.
Thank you!
Best answer by Naveen Boga
Hi @Sagar Greytrix As per my knowledge, Acumatica's Global Search indexes records based on Search Index definitions tied to specific graphs/screens. For a given record (like an Invoice), the search engine returns one result per indexed entity, whichever screen that entity is mapped to. The "Balanced vs Open/Closed" behavior you're seeing is because those statuses map to different graphs (SOInvoiceEntry vs ARInvoiceEntry), so the index already returns one result pointing to whichever screen owns that record's state.
Getting it to return two navigation results for the same reference number is may not work, but it is worth raising support case with Acumatica and get the inputs from them.
@Sagar Greytrix as per i have R&D i found below option
This isn’t supported out of the box, and achieving it requires customization.
In Acumatica, Global Search is designed այնպես that each record (like an invoice) returns a single result tied to one navigation screen. The system determines which screen to open (SO303000 vs AR301000) based on context such as document status, but it won’t return multiple results for the same reference number by default.
To get the behavior you’re looking for (two results for the same invoice), the only real option is a customization approach:
Option : Duplicate search entities
Create a custom DAC (or projection) that represents the same invoice data
Register both the standard DAC and the custom DAC in the search index
Configure each to point to a different screen (SO303000 and AR301000)
This would allow Global Search to return two entries for the same reference number, each navigating to a different screen. However, this requires C# customization and careful handling to avoid confusion or duplicate indexing issues.
Hi @Sagar Greytrix As per my knowledge, Acumatica's Global Search indexes records based on Search Index definitions tied to specific graphs/screens. For a given record (like an Invoice), the search engine returns one result per indexed entity, whichever screen that entity is mapped to. The "Balanced vs Open/Closed" behavior you're seeing is because those statuses map to different graphs (SOInvoiceEntry vs ARInvoiceEntry), so the index already returns one result pointing to whichever screen owns that record's state.
Getting it to return two navigation results for the same reference number is may not work, but it is worth raising support case with Acumatica and get the inputs from them.