@@ -40,8 +40,20 @@ def _edifact_invoice_get_interchange(self):
40
40
sender_edifact , recipient_edifact , self .id , syntax_identifier
41
41
)
42
42
43
+ def _edifact_invoice_get_address (self , partner ):
44
+ # We apply the same logic as:
45
+ # https://github.com/OCA/edi/blob/
46
+ # c41829a8d986c6751c07299807c808d15adbf4db/base_ubl/models/ubl.py#L39
47
+
48
+ # oca/partner-contact/partner_address_street3 is installed
49
+ if hasattr (partner , "street3" ):
50
+ return partner .street3 or partner .street2 or partner .street
51
+ else :
52
+ return partner .street2 or partner .street
53
+
43
54
def _edifact_invoice_get_buyer (self ):
44
55
buyer = self .partner_id
56
+ street = self ._edifact_invoice_get_address (buyer )
45
57
return [
46
58
# Invoice information
47
59
(
@@ -50,7 +62,7 @@ def _edifact_invoice_get_buyer(self):
50
62
[buyer .id , "" , "92" ],
51
63
"" ,
52
64
buyer .commercial_company_name ,
53
- [buyer . street , "" ],
65
+ [street , "" ],
54
66
buyer .city ,
55
67
"" ,
56
68
buyer .zip ,
@@ -78,6 +90,7 @@ def _edifact_invoice_get_seller(self):
78
90
id_number = self .env ["res.partner.id_number" ]
79
91
seller = self .invoice_user_id .partner_id
80
92
seller_id_number = id_number .search ([("partner_id" , "=" , seller .id )], limit = 1 )
93
+ street = self ._edifact_invoice_get_address (seller )
81
94
return [
82
95
# Seller information
83
96
(
@@ -86,7 +99,7 @@ def _edifact_invoice_get_seller(self):
86
99
[seller_id_number .name , "" , "92" ],
87
100
"" ,
88
101
seller .commercial_company_name ,
89
- [seller . street , "" ],
102
+ [street , "" ],
90
103
seller .city ,
91
104
"" ,
92
105
seller .zip ,
0 commit comments