Hello, actuellement si lâon change le contact de facture sur la fiche dâun client, ce champs ne semble pas se mettre Ă jour dans un abonnement qui serait liĂ© au mĂȘme client.
Possible de faire en sorte que lorsquâon change le contact de facturation du client cela se rĂ©percute automatiquement sur le contact de facturation de lâabonnement svp ?
Merci
Bonjour @maximeIndieHosters,
Jâai ouvert un ticket pour traiter ce sujet: [Feat] Automatically update the invoicing contact person in subscription when changed in contacts (#366) · Issues · Dokos / Dokos · GitLab
En attendant quâon ait la bande passante pour proposer quelque chose de standard, voici un script python qui peut ĂȘtre mis en place immĂ©diatement:
if doc.is_billing_contact:
for link in doc.links:
if link.link_doctype == "Customer" and frappe.db.get_value("Subscription", filters={"customer": link.link_name}):
for subscription in frappe.db.get_all("Subscription", filters={"customer": link.link_name}):
frappe.db.set_value("Subscription", subscription.name, "contact_person", doc.name)
Bonne fin de journée
Hello Charles,
Jâai testĂ© mais je vois quelques effets de bords.
Effectivement, je suis allĂ© dans un contact rattachĂ© Ă un client et jâai cochĂ© la case âcontact de facturationâ et il sâest bien retrouvĂ© dans le contact de facture de lâabo sauf que le champs email en-dessous nâa pas Ă©tĂ© actualisĂ© :
Autre chose : que se passe-t-il si jamais lâon coche âcontact de facturationâ sur plusieurs contacts ?
Salut Maxime,
VoilĂ un script modifiĂ© qui devrait mettre Ă©galement Ă jour lâadresse email.
Dans le prĂ©cĂ©dent script je ne mettais Ă jour que le lien vers le contact, là ça enregistre Ă nouveau lâabonnement, donc ça doit rĂ©cupĂ©rer son adresse email principale:
if doc.is_billing_contact:
for link in doc.links:
if link.link_doctype == "Customer" and frappe.db.get_value("Subscription", filters={"customer": link.link_name}):
for subscription in frappe.db.get_all("Subscription", filters={"customer": link.link_name}):
subscription = frappe.get_doc("Subscription", subscription.name)
subscription.contact_person = doc.name
subscription.save()
Ce script met Ă jour lâabonnement dĂšs quâon enregistre un contact, donc si plusieurs personnes sont considĂ©rĂ©es comme des contacts de facturation, câest le dernier contact enregistrĂ© qui sera ajoutĂ© dans lâabonnement.
Bonne journée
Testé, ça fonctionne. Merci
Je prĂ©cise que rien nâest prĂ©vu en lâĂ©tat si on dĂ©coche le fait quâun contact soit le âcontact de facturationâ. Iel reste inscrit comme contact dans lâabonnement.
En lâĂ©tat câest un cas relativement rare. Mais bon Ă garder en tĂȘte si jamais.