RelationMergeService::merge() (Modules/Clients/Services/RelationMergeService.php, introduced in PR #580) always keeps the primary record's value when both records have a conflicting non-empty value for trading_name, unique_name, id_number, coc_number, vat_number, currency_code, language, primary_contact_id — it only gap-fills empty primary fields from the duplicate. The original issue (#481) sketched a UI letting the user choose which side wins per field; that UI was descoped from the initial implementation.
Acceptance criteria
RelationMergeService::merge()(Modules/Clients/Services/RelationMergeService.php, introduced in PR #580) always keeps the primary record's value when both records have a conflicting non-empty value fortrading_name,unique_name,id_number,coc_number,vat_number,currency_code,language,primary_contact_id— it only gap-fills empty primary fields from the duplicate. The original issue (#481) sketched a UI letting the user choose which side wins per field; that UI was descoped from the initial implementation.Acceptance criteria
Modules/Clients/Filament/Company/Resources/Relations/Tables/RelationsTable.php) shows a per-field radio/picker for any field where primary and duplicate disagree (both non-empty), before callingRelationMergeService::merge()with the resolved values.