@@ -42,18 +42,34 @@ def process_webhook_event(
4242 data : dict ,
4343 event : WebhookEvent ,
4444 ):
45- logger .info (f"Processing { event } for { cls .entity_type_name } { resource_id } " )
45+ logger .info (
46+ f"Processing { event .value } for { cls .entity_type_name } { resource_id } "
47+ )
4648
49+ # If no data, the asset was deleted
4750 if not data :
4851 return cls .delete_from_moneybird (resource_id )
4952
53+ # Check if asset already exists locally
5054 try :
5155 asset = cls .get_queryset ().get (moneybird_asset_id = resource_id )
52- logger .info (f"Asset { resource_id } already exists locally, refreshing" )
56+ logger .info (
57+ f"Asset { resource_id } already exists locally, refreshing from Moneybird"
58+ )
5359 asset .refresh_from_moneybird ()
54- asset .update_on_moneybird ()
60+
61+ # If this is a created event and the name doesn't match, update Moneybird
62+ if event .value == "company_assets_asset_created" :
63+ moneybird_name = data .get ("name" , "" )
64+ if moneybird_name and moneybird_name != asset .name :
65+ logger .info (
66+ f"Asset name mismatch: Moneybird has '{ moneybird_name } ', local has '{ asset .name } '. Updating Moneybird."
67+ )
68+ asset .update_on_moneybird ()
69+
5570 return asset
5671 except cls .model .DoesNotExist :
72+ # Asset doesn't exist locally - try to find by name and link
5773 asset_name = data .get ("name" , "" )
5874 if asset_name :
5975 try :
@@ -64,7 +80,15 @@ def process_webhook_event(
6480 f"Found existing asset with name '{ asset_name } ', linking to Moneybird asset { resource_id } "
6581 )
6682 asset .moneybird_asset_id = resource_id
67- asset ._refresh_from_moneybird (data )
83+ asset .refresh_from_moneybird ()
84+
85+ # Check if name needs updating on Moneybird
86+ if asset_name != asset .name :
87+ logger .info (
88+ f"Linked asset name differs from Moneybird name. Updating Moneybird from '{ asset_name } ' to '{ asset .name } '."
89+ )
90+ asset .update_on_moneybird ()
91+
6892 return asset
6993 except cls .model .DoesNotExist :
7094 logger .info (
0 commit comments