@@ -202,7 +202,26 @@ def getPartnerBase(self, DatiAnagrafici, partnerCreate=True): # noqa: C901
202
202
cf , vat = self ._define_vat_fiscalcode (DatiAnagrafici )
203
203
204
204
partners = self ._find_partners_by_cf_vat (DatiAnagrafici )
205
+ commercial_partner_id = self ._find_commercial_partner (DatiAnagrafici , partners )
206
+ if commercial_partner_id is None :
207
+ return False
208
+ if partners :
209
+ if not commercial_partner_id :
210
+ commercial_partner_id = partners [0 ].commercial_partner_id .id
211
+ self .check_partner_base_data (commercial_partner_id , DatiAnagrafici )
212
+ return commercial_partner_id
213
+ else :
214
+ # partner to be created
215
+ vals = self ._prepare_partner_values (DatiAnagrafici , vat , cf )
216
+
217
+ if partnerCreate :
218
+ return partner_model .create (vals ).id
219
+
220
+ return vals
221
+
222
+ def _find_commercial_partner (self , DatiAnagrafici , partners ):
205
223
commercial_partner_id = False
224
+ cf , vat = self ._define_vat_fiscalcode (DatiAnagrafici )
206
225
if len (partners ) > 1 :
207
226
for partner in partners :
208
227
if (
@@ -216,21 +235,9 @@ def getPartnerBase(self, DatiAnagrafici, partnerCreate=True): # noqa: C901
216
235
"present in db." % (vat , cf )
217
236
)
218
237
)
219
- return False
238
+ return None
220
239
commercial_partner_id = partner .commercial_partner_id .id
221
- if partners :
222
- if not commercial_partner_id :
223
- commercial_partner_id = partners [0 ].commercial_partner_id .id
224
- self .check_partner_base_data (commercial_partner_id , DatiAnagrafici )
225
- return commercial_partner_id
226
- else :
227
- # partner to be created
228
- vals = self ._prepare_partner_values (DatiAnagrafici , vat , cf )
229
-
230
- if partnerCreate :
231
- return partner_model .create (vals ).id
232
-
233
- return vals
240
+ return commercial_partner_id
234
241
235
242
def _find_partners_by_cf_vat (self , DatiAnagrafici ):
236
243
partner_model = self .env ["res.partner" ]
@@ -1868,6 +1875,8 @@ def _process_fatturapa_attachment(self, fatturapa_attachments):
1868
1875
"invoice_id" : invoice .id ,
1869
1876
}
1870
1877
)
1878
+ elif isinstance (partner , bool ):
1879
+ invoice .write ({"intermediary" : False })
1871
1880
else :
1872
1881
new_intermediary_data .append (
1873
1882
{
0 commit comments