Application Gestion des factures en php
Bonjour je realise actuellement une application de gestion des factures pour une cabinet de prestation de service (grh entretien des des bureaux et gardiennage)
Mais je suis bloqué au niveau du mcd
Voici mon mcd
Entreprise--->cmd--->prestation-->réalise r-----clt
C a d une entreprise cmd des prestations a une entreprise
Aidez moi slvpl
Réponses apportées à cette discussion
Salut,
le problème est caste et il ne va pas être simple de le détailler complètement ici. J'ai moi-même construit une application de ce genre qui est utilisée par une entreprise de services au quotidien, je mesure donc très bien les difficultés.
Il faudrait préciser quelques détails : par exemple, est-ce qu'il s'agit d'une seule entreprise fournissant ces services, ou bien une entreprise qui gère les prestations de différents fournisseurs ?
Il faut commencer par identifier les acteurs :
- Entreprise prestataire;
- Entreprise cliente;
- Collaborateur :
- Interlocuteur interne de l'entreprise
- intervenant affecté sur une ou plusieurs prestations
Ensuite, on identifie d'autres éléments qui vont se greffer autour de ça :
- Contrat de prestation (forfaitaire, régie, autre ?)
- Activités de chaque collaborateur pour chacun des clients;
- Factures émises;
À partir de là, on peut élaborer un modèle dont les bases pourraient ressembler à ceci :
+------------------+ +--------------+
| t_entreprise_ent | | t_client_cli |
+------------------+ +--------------+
| ent_id PK |____________| cli_id PK |
| cli_id FK | | ... |
| ent_nom | +--------------+
| ... | |
+------------------+ |
|
|
+-------------------------+ | +------------------+ +---------------------+
| t_contratprestation_ctr | | | t_prestation_prt | | t_collaborateur_clb |
+-------------------------+ | +------------------+ +---------------------+
| ctr_id PK |_____| | prt_id PK | | clb_id PK |
| cli_id FK |__________| ctr_id FK | | clb_nom |
| ... | | prt_description | | clb_prenom |
+-------------------------+ | prt_tarif | +---------------------+
| ... | | |
+------------------+ | |
| | | |
|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | | |
| | +-------------------+ | |
| | | r_affectation_afc | | |
| | +-------------------+ | |
| |___| prt_id PK |___________| |
| | clb_id PK | |
| | afc_debut | |
| | afc_fin | |
| +-------------------+ |
| |
| |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| |
+---------------------+ | +------------------+ | +---------------+
| t_ligneactivite_lac | | | t_activites__act | | | t_facture_fct |
+---------------------+ | +------------------+ | +---------------+
| lac_id PK |______| | act_id |______| | fct_id PK |
| act_id FK |_____________| clb_id | | cli_id FK |
| prt_id FK | | act_date | | fct_numero |
| lac_date | | ... | | fct_date |
| lac_duree | +------------------+ | ... |
+---------------------+ +---------------+
Partant de là, la facture est calculée à partir de la fiche d'activité et des différentes lignes d'activités pour une période donnée.
Attention à un détail : j'ai mis une entité entreprise et une entité client : ça peut représenter la même chose dans la mesure où dans l'entité entreprise, la clé étrangère cli_id indique qu'il s'agit d'un client et non de l'entreprise prestataire. Ça évite d'avoir deux tables pour désigner une entreprise prestataire d'une part et cliente d'autre part.