Bonjour,
Je souhaite développer un assistant (wizard) pour l'édition de devis. Chaque étape contiendrait un formulaire à valider pour passer à l'étape suivante et au final valider le devis.
Voici les étapes que je souhaite mettre en place :

    1. Informations client
    1. Lignes de devis (une ligne = designation + prix + quantité)
    1. Signatures du devis

J'aimerais avoir une idée de comment je pourrais faire cela en PHP/Symfony ou javascript ou si il existe des librairies.

Cordialement

1 réponse


Bonjour,

Pour commencer, il faut des bases solides en PHP ainsi qu'avec le framework Symfony (ce qui est logique).

Il te faudra créer une entité Customer et lui donner les colonnes nécessaires dont tu auras besoin, ce qui sera sûrement le classique demandé pour un CRM. Je ne vais pas citer toutes les colonnes, car tout dépend des besoins malheureusement, mais en cherchant CRM sur Internet, tu trouveras sûrement ton bonheur.

Ensuite, une autre entité Invoice, qui sera en relation belongsTo avec Customer, sans oublier la relation inverse. Attention, il ne faut pas oublier que les n° des invoices ne doivent jamais être identiques, car la loi française l'impose, et qu'ils doivent également changer chaque année.

Petit conseil :

Tes factures doivent être préfixées correctement, c'est-à-dire qu'elles devront être formatées comme ceci :

Factures : F-XXX-XXX
Devis : D-XXX-XXX
Avoir : A-XXX-XXX
Bon de commande : B-XXX-XXX

Bien évidemment, ce ne sont que des conseils. Si tu ne souhaites pas pousser ton CRM très loin, avec factures et devis cela devrait suffire.

Personnellement, mon format est simple pour garder une organisation pratique et facile à développer. J'ai choisi : F-2024-0001. J'ai mis (préfixe)-(année)-(numérotation), c'est le plus simple à faire. Attention, il ne doit pas y avoir de décalage entre tes factures, et il faut indiquer un type (payée, en attente, ...).

Faire une application comme ça n'est pas difficile, mais cela demande pas mal de recherche au niveau des lois. Si, par la suite, tu veux que ton application soit ouverte à d'autres développeurs ou amis, il faudra respecter ce qu'on appelle la loi anti-fraude à la TVA, ce qui coûte un bras (voire un foie).

Trêve de plaisanterie, il faudra ensuite une autre entité InvoiceItem, qui sera également en relation avec Invoice. Il faut que plusieurs InvoiceItem puissent appartenir à une même Invoice. Il faudra également définir une designation, un prix unitaire, une quantité, un type d'article. Le type d'article doit être obligatoire affiché sur la fracture (encore les lois françaises...)

Voici les types d'articles pour une designation :

  • Vente de marchandises (BIC)
  • Prestations de services (BNC)
  • Prestations de service artisanales ou commerciales (BIC)
  • Vente de produits fabriqués (BIC)
  • Débours

Pour la signature du devis, il y a YoanDev qui en a parlé sur sa chaine youtube, cela pourrait te donner des pistes mais la plus part du temps c'est des libraires externes qui sont plutôt chère.

Toutes les informations de votre entreprise / micro, doivent être présents sur votre document. D'ailleurs pour envoyer votre facture à votre client vous pouvez utiliser dompdf pour générer votre pdf avec PHP.

J'ai essayé d'aller au plus court, mais votre demande reste basique. Cependant, il y a des règles à respecter par rapport à la loi française. Si vous êtes d'un autre pays, je ne saurais pas donner d'autres informations.

En espérant que ma réponse vous aura été utile.
Bonne journée !