Das könnte man über ein kleines Plugin lösen. Ob das für alle Fälle eure Probleme behebt, kann ich da nicht beurteilen, sollte aber das angesprochene Problem lösen:
subscribeEvent(
'Shopware_Modules_Admin_GetUserData_FilterResult',
'onFilterUserData'
);
return true;
}
/**
* @param Enlight_Event_EventArgs $args
* @return array
*/
public function onFilterUserData($args)
{
$userData = $args->getReturn();
/**
* Wenn In der Lieferadresse keine Umsatzsteuer-ID hinterlegt ist
* und das Lieferland auf "Steuerfrei für Unternehmen steht"
* und in der Rechnungsadresse eine Umsatzsteuer-ID hinterlegt ist
* und das Rechnungsland auf "Steuerfrei für Unternehmen steht"
* dann ersetze die UmsatzsteuerID aus der Lieferadresse mit der aus der Rechnungsadresse
*/
if (empty($userData['shippingaddress']['ustid']) && $userData['additional']['countryShipping']['taxfree_ustid'] == 1
&& !empty($userData['billingaddress']['ustid']) && $userData['additional']['country']['taxfree_ustid'] == 1) {
$userData['shippingaddress']['ustid'] = $userData['billingaddress']['ustid'];
}
return $userData;
}
}
Einfach einen Ordner /engine/Shopware/Plugins/Community/Frontend/SwagUseBillingUstId anlegen und eine Bootstrap.php mit dem Inhalt von oben.