PhpCompta //**version 6.7**// \\ \\ Ce programme vous est donné sous licence GNU GPL, il n'est accompagné d'aucune garantie, vous l'utilisez à vos risques et périls. \\ \\ \\ \\ \\ \\ ====== Préface ====== PhpCompta est un logiciel libre, développé uniquement avec des outils libres (Ubuntu, gnome, emacs, cssed, firefox, PHP, Postgresql, OpenOffice.org, python, doxygen, subversion...) En tant que logiciel libre, il dépend de sa communauté, c'est à dire des personnes l'utilisant. Pour contribuer, cela peut être aussi simple que simplement améliorer ce manuel, écrire de la documentation, faire des suggestions, aidez les autres à l'utiliser ou remonter des bugs. \\ \\ Si vous aimez ce logiciel, pensez-y; si vous vous contentez de l'utiliser, à terme vous y perdrez vous aussi : le nombre de fonctionnalités n'augmentera pas, votre confort d'utilisation non plus, le nombre d'extensions stagnera... Et le produit pourrait être tout simplement abandonné. \\ \\ ====== Introduction ====== \\ Merci d'utiliser PhpCompta, vous verrez que ce programme est très utile et très efficace. Cependant, beaucoup de personnes ne lisent pas la documentation et le trouve peu intuitif probablement parce qu'il ne ressemble pas assez aux programmes qu'ils connaissent déjà. Et qui ne sont pas toujours les meilleurs en plus. \\ En voulant faire simple, j'ai fait différent. J'espère que vous vous y habituerez ;) De toute façon, vous pouvez nous faire part de vos remarques. **Chapitre 1** ====== Installation ====== \\ \\ ===== 1.Sur une plateforme libre (Linux...) ===== Toute la procédure a été décrite sur http://doc.ubuntu-fr.org/phpcompta et je ne pense pas intéressant de simplement la recopier ici ===== 2.Windows ===== Il y a un manuel spécifique (manuel_win2.odt) **Chapitre 2** ====== Dossier et utilisateurs ====== \\ \\ Un dossier reprend toute la comptabilité (et gestion) d'une société, une personne, une ASBL ou une loi 1901. Un utilisateur est une personne utilisant le programme. La première étape est de créer un dossier, qui contiendra toute votre comptabilité et votre gestion. \\ ===== Menu Administration ===== ==== 1.Création de dossier ==== Afin de créer un dossier, vous vous rendez simplement dans Administration → Dossier, vous devez être administrateur pour cela, vous choisissez un modèle, la date, le nom et une description, puis cliquer sur création. Quand vous serez dans la fenêtre d'accueil, le nouveau dossier sera là. Par défaut, seuls les administrateurs y ont accès, vous devez aller dans [[#13.6.Sécurité |outline|Sécurité]] ==== 2.Création de modèle ==== Vous choisissez le dossier qui deviendra un modèle, que vous pourrez utiliser pour créer un nouveau dossier. Pendant la phase de création du modèle, on enlèvera de celui-ci toutes les opérations comptable. Les autres éléments (fiches, document) ne seront effacés que si c'est demandé. Vous pouvez créer facilement vos propres modèles. Il suffit d'ajouter un modèle, de choisir le dossier qui en sera la base et de valider, tout sera nettoyé sauf le plan comptable, les fiches... ==== 3.Création d'utilisateur ==== Quand vous créez un utilisateur, soit vous en faites un administrateur et donc il aura accès à tous. Soit vous spécifiez les droits par dossier. Les droits possibles sont normal ou rien là. Si vous lui donnez Normal alors vous devrez vous connecter sur ce dossier afin de spécifier ce qu'il peut faire et voir, par défaut, il n'a accès à rien. Il faut en premier lieu lui donner un profil. Les utilisateurs peuvent être soit : Des administrateurs, ils ont alors tous les droits sur tous les dossiers Des utilisateurs normaux, ils ont que les droits qu'on leur a accordé dans les dossiers auxquels ils peuvent accéder avec le profil donné et les privilèges accordés Si un utilisateur normal n'a accès qu'à un seul dossier, lorsqu'il se connecte il arrive directement sur ce dossier. ==== 4.Backup ==== Dans les menus Dossier et Modèle, il y a un bouton backup en regard du dossier à sauver. En cliquant dessus, un fichier de backup sera généré et envoyé. Vous n'aurez qu'à le sauver sur votre disque. Pour restaurer, allez simplement dans le menu Administration → restaure, complétez les informations et chargez le fichier. ==== 5.Restaure ==== Vous pouvez aussi restaurer un fichier sauvegardé, ce menu sert aussi pour installer un nouveau modèle que vous avez téléchargé depuis le site. Vous pouvez à tout moment, créer un dossier de test identique à votre dossier comptable simplement en faisant un backup et en le restaurant sous un autre nom; cela vous permettra de tester, de mettre au point la génération de documents \\ \\ Avant de vraiment tenir votre comptabilité et de gérer votre entreprise avec PhpCompta, il faut absolument paramétrer correctement. ==== 6.Audit ==== Ce menu vous permet de voir qui s'est connecté et qui a essayé sans succès. Afin d'éviter qu'un intrus efface ses traces, la seule façon d'effacer est de le faire en commande en ligne. ===== Configuration du dossier ===== ==== 1.Société ==== \\ Ici vous indiquez les paramètres de votre société, nom, adresse...Cela sera réutilisé dans divers endroits. Entre autres dans les documents générés dont les factures, les notes de frais, les lettres de rappel, les bilans... Il y a deux paramètres très importants : === 1.Comptabilité analytique : valeur possible === Les valeurs possibles sont - Aucune, par défaut - Optionnel, c'est à dire qu'il n'est pas obligatoire de donner les informations pour la comptabilité analytiques - Obligatoire : il est obligatoire d'indiquer le plan analytique et le compte utilisé === 2.Mode Strict === Les valeurs possibles sont : - Non, vous pouvez encoder sans suivre l'ordre chronologique et vous pouvez aussi effacer des opérations - Oui, vous ne pouvez jamais encoder une opération dans un journal à une date antérieure à la dernière opération enregistrée, de plus il ne vous sera pas possible d'effacer une opération. === 3.Assujetti à la TVA === Si vous indiquez non, la TVA ne sera ni affichée ni calculée, === 4.Suggérer le numéro de pièce justificative === Si sur oui,alors le programme vous suggère le numéro de la pièce lors de l'encodage des recettes, achat, opérations financières ou diverses === 5.Suggérer la date === Donne la date de la dernière opération du journal (conseillé) === 6.Afficher la période comptable pour éviter les erreurs de date === Affiche en plus une liste de période pour introduire l'opération dans la bonne période. === 7.Changer le libellé des détails === Permet de changer le libellé des lignes de détails. === 8.Utilisez des comptes alphanumériques === Les postes comptables calculés dans les fiches sont soit le poste comptable plus le nom si ici vous indiquez oui, soit un poste comptable numérique. === 9.Changer le libellé des détails === Permet de changer ou non le détail des opérations === 10.Utilisation des stocks === Si à oui, alors à la fin d'une opérations de vente ou d'un achat on vous demandera dans quel dépôt enregistrer le mouvement de stock, à la condition que la fiche aie un attribut « Gestion de stock » ==== 2.Période ==== C'est l'endroit ou les périodes sont créées, ou fermées. Il faut toujours fermer les périodes en particulier après les déclarations TVA, afin d'éviter que les montants déjà déclarés ne correspondent plus, plus personne ne doit pouvoir encoder dans ces périodes-là. Les périodes peuvent être soit fermées par journal soit pour tout les journaux (= mode global). Les périodes peuvent être ré-ouvertes soit par journal soit de manière globale. Vous pouvez définir la **période par défaut** sur laquelle vous souhaitez intervenir en allant cliquant sur le bouton **Préférences** du dossier courant. Cliquer sur la combo-box "Période" et choisissez celle qui vous convient pour encoder des opérations, pour réimprimer un bilan d'une année passée, etc. \\ Il faut veiller si vous modifiez les dates de début et de fin d'une période de ne pas déborder sur une autre période, sinon les modifications ne seront pas sauvées. === Exercice === L’exercice comptable correspond à une durée d'activités comptables pour laquelle l’entreprise est tenue d’établir des comptes annuels. Normalement, la durée de l’exercice comptable est de 12 mois alignés ou non sur l’année civile.\\ Il est intéressant de prendre en compte 13 périodes pour un exercice. La dernière période est constituée du dernier jour du dernier mois de l'exercice. Elle est utilisée pour faire toutes les écritures de fin d'exercice: amortissements, régulations de compte, etc. Cela simplifie les prévisions, les rapports et les reports sur l'exercice suivant. On peut imaginer de créer un exercice jusque 24 mois pour un début d'activité et adapter les exercices suivants à l'organisation de l'entreprise. Une entreprise qui démarre ses activités en avril, pourra décider de clôturer l'exercice en 10 périodes (neuf de un mois et une, le 31 décembre) pour se caler sur l'année civile par la suite. == Créer un exercice == Aller dans **>Paramètres->Période** PARAM/PERIODE - Choisissez "global" pour la création - Valider - Par défaut Noalyss créé un exercice de 12 périodes à l'année que vous avez choisi pour la création de votre dossier. == Ajouter une 13ème période == Aller dans **>Paramètres->Période** PARAM/PERIODE - Modifier d'abord la 12ème période pour en retirer le dernier jour - Cliquer sur //"modifier"//, en regard de la 12ème période - Changer le dernier jour, du 31 au 30 du mois - Ajouter une période en cliquant sur //"Ajout d'une période"// - Cette 13ème période commence le 31 et finit le 31(!) - Renseigner l'exercice concerné. __ATTENTION:__ //Une période qui contient des opérations __ne peut plus être modifiée__. Il est donc IMPÉRATIF de bien configurer ses exercices dès le départ.// == Créer un exercice décalé par rapport à l'année civile == Il faut utiliser l'extension **>Extensions->Outils comptables->Exercice** EXT\\ - Renseigner le nom de l'exercice (seule une valeur numérique peut être donnée) - Renseigner l'année de l'exercice - Renseigner le nombre de période (mois) - Renseigner le mois du début de l'exercice (chiffres de 1 à 12) - Valider. - Un message vous avertira que l'exercice a bien été créé. __ATTENTION:__ //Deux périodes ne peuvent pas se chevaucher. Si vous avez un message d'erreur quand vous validez une nouvelle période ou un exercice, vérifiez d'abord qu'il n'y a pas de chevauchement.// __ATTENTION:__ //Vous pouvez par contre avoir un "trou" entre deux périodes, si vous avez oublié un mois par exemple. Veillez à la continuité de vos exercices.// ==== 3.Divers ==== === 1.Moyens de paiement === Avant de pouvoir utiliser l'option « Payé par » dans les journaux d'achat et de vente, vous devez paramétrer dans quel journal le paiement sera enregistré et surtout avec quelles fiches, pour indiquer une fiche, vous devez entrer son quickcode;si vous n'indiquez aucune fiche, vous devez donner une catégorie de fiche. Pour les notes de frais, vous pouvez soit mettre un compte administrateur si vous êtes seul, soit mettre la catégories « Compte Administrateur/Employé ». En donnant uniquement la catégorie, lors de l'achat vous aurez la possibilité de choisir la fiche du bénéficiaire. Il est possible d'ajouter et d'effacer des moyens de paiement, les journaux où les paiements sont enregistrements sont de type financier ou opérations diverses, les journaux pour lesquels on a le champs « paiement » sont des journaux d'achat ou de vente. Pour les paiement par caisse, vous donnez simplement la fiche de la caisse. Cette fiche aura été créée idéalement dans la catégorie de fiche « banque ». Si vous utilisez les modes de paiement, vous devrez aussi utiliser les rapprochements bancaires. De plus, si un mode de paiement est proposé lors d'une vente ou d'un achat, vous pourrez indiquer l'acompte déjà payé, l'opération financière générée sera alors le total de l'opération moins l'acompte. === 2.TVA === \\ Dans cette page-ci,vous pouvez paramétrer correctement votre TVA, vous pouvez ajouter ici des taux de TVA, compléter la description et surtout paramétrer les postes comptables pour la TVA. Ces postes sont séparés par des virgules, le premier est la TVA sur les achats qui doit être récupérée (débit) et le second est la TVA sur les ventes qui doit être payée (crédit). \\ Ces postes seront utilisés automatiquement avec les opérations de vente et d'achat. \\ Quand l'option « Utilisé au débit et au crédit afin d'annuler cette tva « est cochée, lors de la génération d'écriture vente ou achat, le même montant est ajouté comme TVA au débit et au crédit. Cela permet d'utiliser les TVA payables et non récupérables, ou la TVA sur les intracomm ou encore les « Article 44 » de la TVA Belge. \\ === 3.Poste Comptable === \\ Paramétrage de certains postes comptables qui sont utilisés à d'autres endroits du programme, vous pouvez les modifier mais assurez-vous qu'ils existent déjà dans votre Plan Comptable. Ils seront utilisés pour par exemple calculer une partie non déductible, ou retrouver les comptes en banque. Ils peuvent être vu comme des comptes centralisateurs. \\ BANQUE Poste comptable de base pour les banques 550 CAISSE Poste comptable de base pour la caisse 57 COMPTE_COURANT Poste comptable de base pour le compte courant 56 COMPTE_TVA TVA à payer 451 CUSTOMER Poste comptable de base pour les clients 400 DEP_PRIV Dépense a charge du gérant[[#sdfootnote1sym|1]] 4890 DNA Dépense non déductible 1 6740 SUPPLIER Poste par défaut pour les fournisseurs 440 TVA_DED_IMPOT TVA déductible par l'impôt 1 6190 TVA_DNA TVA non déductibles 1 6740 VENTE Poste comptable de base pour les ventes 70 VIREMENT_INTERNE Poste Comptable pour les virements internes 58 \\ **Si vous faites un achat avec une fiche dont le poste comptable correspond à DEP_PRIV ou est un sous-poste de DEP_PRIV, le montant pour cette fiche sera automatiquement mis dans les dépenses privées non déductibles, cependant cela n'affectera pas la TVA si vous en avez indiqué une** \\ === 4.Catégorie de fiche === Quand vous en créez une nouvelle catégorie de fiche, ou vous demande sur quel modèle vous voulez vous baser. Ce sont ces modèles qui peuvent être modifiés ici. Les classes de bases sont définies ici (voir le chapitre [[#8.Fiche|outline|Fiche ]]) \\ C'est un paramétrage assez délicat, il faut mieux ne pas le modifier si vous n'êtes pas sûr de ce que vous faites. \\ Pour l'instant, il n'y a pas d'interface afin d'ajouter de nouveau modèles de fiches. \\ === 5.Catégorie de document === Vous permet d'effacer une catégorie de document, aux conditions de n'avoir généré aucun document de cette catégorie, et de n'avoir aucune action de cette catégorie. Vous permet aussi d'ajouter des documents mais uniquement si le nom est unique. \\ ==== 4.Sécurité ==== AC=CFGSEC Dans chaque dossier, vous devez donner les droits des utilisateurs. Il y a les journaux et les actions. Les journaux sont ceux auxquels vous avez ou non accès. Avoir accès en ajout à un journal de vente permet automatiquement de générer des factures et de les imprimer. Lors de la création d'un utilisateur de type normal, cet utilisateur n'a aucun droit sur le dossier, si il est de type administrateur ou local administrateur de ce dossier, il aura tous les droits. En revanche, si l'utilisateur est un utilisateur normale, il faudra explicitement lui donner les droits, les utilisateurs avec le statut 'Seulement extension' n'aura accès qu'aux extensions auquel il a accès et à rien d'autre == 1.Les journaux == Choisissez ici les journaux pour lesquels l'utilisateur aura le droit de lecture, d'écriture ou aucun. Si un utilisateur a un « Aucun accès » pour un journal, il ne pourra jamais en consulter les données, ni par impressions ni par le module recherche. De même un utilisateur avec un « Uniquement extensions » ne pourra utiliser que les extensions. == 2.Les actions == \\ * Création, modification et effacement de fiche * Création, modification et effacement de catégories de fiches * Ajout de fiche * Voir les documents du suivi * Effacer les documents du suivi * Modifier le type de document \\ \\ \\ \\ ==== 5.Document- génération de document ==== PhpCompta vous permet de gérer tous les documents que vous souhaitez, ou presque. Afin de générer ces documents, vous avez besoin d'un modèle de document : soit en format HTML, Texte, OpenDocument (ISO26300) ou RTF. Ces documents serviront de modèle pour la génération de documents tels que facture, note de frais, lettre de rappel... Chaque type de document a un numéro de séquence, si vous avez 5 modèles de factures, tous les modèles utiliseront la même séquence. Ne modifier ce numéro que si vous êtes sûr de vous. Le numéro 0 signifie qu'il n'y aura pas de changement de la séquence. Il est cependant possible d'utiliser la balise «PJ» pour utiliser une numérotation unique de vos factures, le numéro de pièces est différent pour chaque journal. Les balises possibles doivent être entourées par **<<** et **>>** si vous souhaitez les utiliser dans une feuille de calcul, vous devez mettre le signe égal (=) devant la balise, ainsi après génération ces champs seront considérés comme numériques et pourront être inclus dans des formules Les balises sont entre **<<** et **>>** === Client ou fournisseur === * CUST_NAME customer's name * CUST_ADDR_1 customer's address line 1 * CUST_CP customer's ZIP code * CUST_CITY customer's city * CUST_CO customer's country * CUST_VAT customer's VAT * CUST_NUM numéro de client * CUST_BANQUE_NO n° de compte en banque (utilisé surtout dans les notes de frais) * CUST_BANQUE_NAME nom de la banque (utilisé surtout dans les notes de frais) === Détail du document === * DATE_LIMIT_CALC Échéance, date formatée pour Calc * DATE_LIMIT Échéance date dans le format DD.MM.YYYY * MARCH_NEXT n'imprimera rien, ce tag demande à ce qu'on passe à la marchandise suivante * BON_COMMANDE numéro du bon de commande * VEN_ART_NAME Nom de l'article * VEN_ART_LABEL Ce qui est écrit à la place de la description de la fiche dans les journaux de vente ou d'achat ou le nom de l'article si cette description est vide * VEN_ART_PRICE Prix de l'article * VEN_ART_QUANT Quantité * VEN_ART_TVA_CODE ou TVA_CODE Le code TVA pour l'article * VENT_ART_TVA_RATE ou TVA_RATE est le pourcentage de TVA de l'article * VEN_ART_TVA_AMOUNT Le montant TVA de l'article * VEN_ART_STOCK_CODE Le code de stock de l'article * VEN_HTVA le total hors TVA de l'article * VEN_TVAC le total TVAC de l'article * VEN_TVA le total de la TVA de l'article * TOTAL_VEN_HTVA le total HTVA * TOTAL_VEN_TVAC le total TVAC * TOTAL_TVA le total TVA * TVA_LABEL Montre le % de TVA * TVA_AMOUNT TVA de l'article * REFERENCE Référence * SOLDE Solde du compte (pour les lettres de rappel) * DATE Date en format DD.MM.YYYY * DATE_CALC Date encodée uniquement pour Calc : permet le formatage de la date * NUMBER numéro de séquence du document * OTHER_INFO information libre que l'on peut introduire dans l'écran de confirmation des journaux de vente * USER le nom et le prénom de l'utilisateur ayant généré le document * COMMENT la description donnée dans la facture ou la note de crédit. * PJ Le numéro de la pièce justificative, vous pouvez l'utilisez si vous souhaitez par exemple pour une numérotation par journal et par document. Vous évitez ainsi l'utilisation de NUMBER === Entreprise utilisant le programme, paramètres encodés dans COMPANY === * MY_NAME vos coordonnées * MY_CP code postal * MY_COMMUNE commune * MY_TVA numéro de TVA * MY_STREET : Rue qu'on a indiqué dans paramètres->société * MY_NUMBER :numéro qu'on a indiqué dans paramètres->société * MY_TEL : téléphone qu'on a indiqué dans paramètres->société * MY_FAX: fax qu'on a indiqué dans paramètres->société * MY_PAYS Pays qu'on a indiqué dans paramètres->société === Bénéficiaire === Fiche désignée par le moyen de paiement, en général utilisée pour les notes de frais pour rembourser un employé * BENEF_NAME : nom * BENEF_ADDR_1 adresse du bénéficiaire * BENEF_CP code postal * BENEF_CITY ville * BENEF_CO pays * BENEF_VAT numéro de TVA * BENEF_NUM numéro de client du bénéficiaire * BENEF_BANQUE_NO numéro de compte en banque * BENEF_BANQUE_NAME nom de la banque === Attribut de la fiche === C'est le nombre x est le numéro d'attribut que l'on peut voir dans CFGATCARD * ATTRx reprend l'attribut x de la fiche marchandise (ou charge) * BENEFATTRx reprend l'attribut x du bénéficiaire (donné par le moyen de paiement) * CUSTATTRx reprend l'attribut x du client ou du fournisseur ACOMPTE * Montant déduit lors d'une vente ou d'un achat, on peut saisir ce montant lors d'une opération de vente ou d'achat === Utilisation de plusieurs stocks === * STOCK_NAME nom du dépôt * STOCK_ADRESS adresse * STOCK_COUNTRY Pays * STOCK_CITY ville * STOCK_PHONE téléphone Il y a des exemples dans doc/contrib/document-test. Parfois vous devez encoder un petit ticket, vous pouvez dans un journal d'achat générer un document afin d'y agrafer ce ticket. === Explication des champs === * nom est le nom que vous verrez apparaître dans les endroits où vous pouvez générer des documents * Type de document: en fait sa catégorie * Fichier : fichier modèle que vous devrez charger * Affectation : Vente : uniquement les journaux de vente * Achat : uniquement les journaux d'achat Gestion accessible uniquement dans gestion → suivi ==== 6.Journaux ==== La première chose à faire quand on crée un journal est de le paramétrer correctement. \\ L'écran est divisé en deux parties, celle du dessus est surtout utilisée par les journaux "Opérations Diverses", celle du dessous pour les autres journaux. \\ C'est ici, que peuvent se configurer la numérotation, automatique ou non des pièces justificatives. Les numéros de pièces justificatives se composent de deux parties, la première est le préfixe qui sera toujours avant le numéro, et le numéro qui s'incrémentera à chaque opération dans ce journal. \\ === 1.Les options : === * Nom journal : le nom du journal qui sera utilisé * Minimum de lignes à afficher : nombre minimum de lignes à afficher * Postes utilisables : uniquement pour les journaux d'opérations diverses * Numérotation de chaque opérations : uniquement pour les journaux financiers (caisse, compte bancaire,...)permet de numéroter les opérations de banque * Compte en banque : uniquement pour les journaux financier, compte en banque lié à ce journal * Préfixe pièce justificatives : préfixe pour la numérotation dans ce journal * Fiche débit et crédit: uniquement journaux de vente et achat. Pour les journaux de vente, il s'agit des ventes au débit et des clients au crédit.Pour les journaux d'achat, au débit on retrouve les charges et au crédit les fournisseurs. \\ ==== 7.Sécurité ==== PhpCompta a sa propre sécurité, cependant si vous voulez vraiment sécuriser votre comptabilité, vous devez prendre en compte qu'il ne suffit pas de sécuriser votre serveur et PhpCompta mais aussi les programmes sur lequel le programme s'appuie. C'est-à-dire Apache, utilisation de https à la place de http, de PostGresql, de l'utilisation des odbc, du chiffrement des backups, de la traque des mots de passe trop faciles à deviner... La liste est longue et c'est l'ensemble des mesures qui déterminera la sécurité de vos données, il suffit d'une seule faiblesse pour que la sécurité soit insuffisante. Le sujet est très vaste, il englobe trop de choses. C'est pourquoi nous ne traiterons que de PhpCompta uniquement. \\ \\ Dans PhpCompta, le module de sécurité permet d'établir quel utilisateur peut accéder à quel dossier, ce qu'il peut y faire, les journaux auxquels il peut accéder... Chaque fois qu'une page est chargée, le mot de passe et le login utilisateur sont vérifiés pour savoir si primo il a accès à ce qu'il a demandé et secundo si son compte est actif et que le mot de passe fourni est valide. De plus, les historiques, détails et autre sont filtrés en fonction de l'utilisateur. Pour ajouter un utilisateur, vous devez tout d'abord avoir les droits administrateur et créer l'utilisateur. A ce moment-là, il n'a accès à rien du tout. Il faut ensuite se connecter à un dossier sur lequel vous avez des droits administrateur et l'ajouter, par défaut il ne peut rien faire. A vous de spécifier ce à quoi il peut accéder et son droits par défaut (les journaux, son profil et certaines actions). De cette façon, un utilisateur (sauf avec des droits administrateur) ne peut pas accéder aux nouveaux dossiers. Chaque accès doit être donné explicitement. \\ \\ === 1.Profil CFGPRO === Accès Direct : CFGPRO Un profil est un ensemble d'éléments accessibles à l'utilisateur, les éléments ne se trouvant pas dans ce profile ne sont pas accessibles à l'utilisateur. Ces éléments sont des modules, des menus, des sous-menus, des impressions ou des plugins. C'est dans ce menu, que l'on fixe les dépôts pour les stocks et les profils d' « Action – Gestion » auquels l'utilisateur peut accèder === 2.Menu CFGMENU === Accès Direct : CFGMENU Les menus sont constitués d'éléments qui peuvent être regroupés en * Menu * Sous-menus * extension (ou plugins) * Droit d'impression (export CSV ou PDF) Des éléments peuvent être ajoutés, déplacés ou enlevés. Ce qui permet de pouvoir complètement configurer PhpCompta en fonction de l'utilisateur. === 3.Menu CFGDEFMENU === Accès Direc CFGDEFMENU Ce menu permet de configurer les menus appelables depuis d'autres endroits, exemple : dans actions-suivi, le menu appelé quand on transforme en facture === 4.Sécurité === Accès Direct : CFGSEC Dans ce menu, vous pourrez donner les journaux auquels l'utilisateur peut ou non accèder, en écriture ou en lecture seulement, ainsi que certaines actions. **Chapitre 4** ====== La Comptabilité, la gestion ====== ===== 1.Définition des termes ===== ·Gestion : art de gérer une entreprise ou une activité d'indépendant \\ ·Comptabilité : tenue de journaux qui sont l'historique des opérations faites par une entreprise ou un indépendant \\ ·Catégorie de fiches : Ensemble de fiches qui ont un point en commun, exemple : « Fourniture bureau » est un ensemble des fiches bic, papiers, téléphone, électricité... ·Fiche : chaque fiche correspond à un élément (un fournisseur, un client, un article) \\ ·Journaux comptables : il existe au minimum 3 journaux indispensables à la tenue de la comptabilité : il s'agit du journal des ventes qui contient toutes les ventes effectuées, du journal d'achat qui contient tous les achats effectués et du journal financier qui contient toutes les opérations financières (banques, caisses) ·Postes Comptables : afin de simplifier, chaque type d'opération a un poste comptable. \\ Exemple : en Belgique, « 5500 » représente les comptes bancaires, « 600 » les achats de fournitures... Ces postes comptables ne sont pas les mêmes dans tous les pays. Ils sont regroupés dans un plan comptable. En général, le plan comptable se subdivise en 7 grandes familles : 0. Garanties, comptes Hors Bilan \\ 1. Les comptes de capital (immobilisé) \\ 2. Les immobilisations corporelles (Actif à plus d'un an) \\ 3. Les Stocks et commandes \\ 4. Les comptes de tiers (clients, fournisseurs,TVA) \\ 5. Les comptes d'actifs (compte en banque, caisse...) \\ 6. Les charges d'exploitations \\ 7.Les produits d'exploitations. \\ Débit et crédit. Les postes comptables sont en partie double; l'une est le débit, l'autre est le crédit. Les actifs diminuent quand le crédit augmente, les comptes de passif diminuent quand le débit augmente. \\ Par exemple, si un compte en banque est débité, il augmente, mais dans la vie courante, votre compte en banque est une dette que votre banque a envers vous, donc quand sa dette augmente on dit que le compte est crédité mais dans votre comptabilité, cela correspond à l'inverse: de votre point de vue, votre compte en banque est une créance sur votre banque donc s'il augmente, il est débité !!! Si vous trouvez que c'est curieux, c'est tout-à-fait normal. \\ \\ ===== 2.Logiciel de comptabilité ou de gestion ? ===== La comptabilité consiste, de la manière prévue par les lois sur la comptabilité, à enregistrer toutes les opérations d'une activité commerciale, industrielle ou artisanale. \\ La grande différence avec la gestion est que la comptabilité est tenue en suivant des lois précises, qui, malheureusement, changent suivant le pays. De plus, elle doit entre autres permettre les déclarations fiscales, permettre des analyses bilantaires et surtout être conforme à la législation. Ce n'est pas le cas de la gestion qui elle, consiste à gérer une entreprise ou une activité d'indépendant, ce qui inclut aussi la gestion du courrier, du personnel... \\ En bref, la comptabilité est guidée par la législation tandis que la gestion, par la pratique. Un programme de comptabilité peut rendre les services d'un programme de gestion et parfois les programmes de gestion peuvent rendre les services d'un programme de comptabilité. La limite est floue et discutable. \\ ===== 3.Mémento de comptabilité ===== ==== 1.Introduction ==== Ce mémento sera vraiment très bref; si vous voulez en savoir plus, vous serez obligé d'aller chercher les livres adéquats. Je vous conseille vivement pour la Belgique "le Précis de comptabilisation de Joseph Antoine et Jean Paul Cornil. Ed. De Boeck Université". \\ Cependant, sur le wiki du site de PhpCompta vous trouverez des liens qui devraient vous aider à commencer cette matière. \\ ==== 2.Le Bilan ==== L'un des objectifs de la comptabilité est de pouvoir établir un bilan qui donnera une idée de la santé de la société. Le bilan correspond aussi à une obligation légale. \\ Le bilan est en deux parties. La partie droite représente les comptes d'actif tandis que la partie gauche représente le passif. Il faut que les deux colonnes aient le même total. Ce qui est normal puisque toute opération comprend une opération de débit - crédit. \\ ==== 3.Les comptes actifs / passifs ==== Il existe une première catégorie de comptes (classes 1 à 5) qui est divisée en deux sortes de comptes : les comptes d'actif et les comptes de passif. \\ Si un compte est débité alors forcément au moins un autre compte sera crédité. \\ Exemple : un client paie sa facture sur votre compte en banque; on aura alors : //Banque(débit)// // à Client (crédit)// \\ Pour bien comprendre les comptes on les représente par un schéma en forme de T \\ ^ Compte ^^ ^ Débit ^ //Crédit// ^ | \\ | \\ | \\ La dette du client diminue mais votre compte en banque augmente. Et toutes les opérations comptables sont ainsi. La convention veut que l'on commence toujours par le compte débité puis le compte crédité. Il faut toujours garder en mémoire que : * l'actif augmente au débit et diminue au crédit * le passif augmente au crédit et diminue au débit * Les comptes d'actif sont les comptes comme les comptes en banque, les créances, le matériel que vous possédez. Ce sont les ressources. * Les comptes de passif sont les dettes, les emprunts,.... Ce sont les emplois. ==== 4.Les comptes de résultats ==== Il y a deux sortes de compte de résultat, les classes 6 et 7. === 1.Les charges === Les charges (classe 6) représentent toutes les dépenses de votre entreprise: loyer, paiement au personnel, charge d'intérêt... \\ Les charges augmentent au crédit mais certains comptes peuvent aussi être diminués. Par exemple : vous encodez une facture d'électricité; vous auriez : \\ //Charge électricité// // à Fournisseur// \\ \\ Remarquez qu'ici on encode la facture, la reconnaissance de notre dette envers le fournisseur d'électricité et pas du tout le paiement! Ce paiement se fera dans le journal financier par l'écriture « Fournisseur à Banque » : la créance de votre fournisseur diminue, notre compte en banque diminue. Voir les explications de la section ``comptes actif/passif'', tandis que la reconnaissance de dette se fera dans un journal d'achats. === 2.Les produits === C'est très simple, les produits sont tout simplement ce que vous vendez, gagnez comme intérêts financiers, bref, les produits; ce sont aussi les créances que vous avez. \\ Le paiement de vos créances, devrait se faire avec les comptes de banques et de débiteurs. Cependant, il arrive souvent que l'on ne passe pas par des comptes débiteurs mais directement en faisant banque à produits... Ce qui devrait être évité. === 3.Les pièces justificatives === Toutes les pièces justificatives (extraits de compte en banque, factures, ...) doivent être numérotées et dans l'ordre chronologique. \\ Les numéros de pièces s'encodent en même temps que les opérations comptables, chaque journal a sa propre notation, indépendante des autres journaux. Cependant, un numéro de pièce doit être unique. Par défaut, chaque pièce justificative a un préfixe et un numéro de séquence ; le préfixe est à régler dans « paramètre → journal », le numéro de séquence peut être automatique, cela se règle dans « paramètres → société → Suggérer le numéro de pièces justificative ». Ces numéros de pièce sont uniques, il y a une vérification pour éviter d'avoir deux fois le même numéro de pièce justificative et adaptation si nécessaire. \\ Cas particulier : les extraits de comptes, pour les opérations enregistrées dans un journal financier, le numéro de pièce est le préfixe de l'opération, le numéro de séquence et le numéro d'opération. Il n'y a pas de vérification pour la numérotation pour les journaux financiers. Il faut être plus prudent pour ces journaux, chaque année, le numéro des extraits de compte recommence à zéro. Dans les paramètres des journaux, vous pouvez décider de ne pas numéroter les opérations de banques et de leur donner uniquement le numéro d'extrait de compte. ===== 4.Belgique Fiscalité, TVA ===== Toutes les requalifications des montants doivent se faire par le journal des opérations diverses \\ Pour la Belgique, utilisez toujours les comptes 67xxx pour toutes les opérations fiscales non déductibles de votre bénéfice, par exemple : versement anticipé d'impôt, paiement de l'impôt, dépense non admise (partie non déductible de certains frais (voiture, restaurant...)). === 1.Déclaration TVA === Pour faire votre déclaration TVA, vous pouvez utiliser les balances des comptes, les rapports ou l'extension TVA \\ ATTENTION NE PAS REPRENDRE LES MONTANTS AINSI !!! Avant de faire votre déclaration, vous devez d'abord rectifier les montants. Par exemple: x% de la TVA sur la voiture n'est pas récupérable par la TVA mais par l'impôt des sociétés. Il faut "déplacer" x% de cette TVA dans un poste comptable "TVA non admise", cela devrait être un compte de la classe 6 (donc 6xxxx à 411xxx), les charges augmentent mais la TVA à récupérer diminue, ce qui est logique puisque cette TVA est à récupérer par l'impôt des sociétés. \\ Idem pour les frais de restaurant, ne pas oublier pendant les travaux de fin d'exercice d'imputer le pourcentage non déductible du total de vos frais de restaurant à un compte de dépenses non admises. Il n'est pas dans le PCMN donc créez le poste vous-même (classe 67). \\ Ensuite, vous pouvez utiliser le rapport "Rapport avancé", pensez à l'adapter à vos besoins et charger le formulaire sur le wiki. \\ === 2.Opérations comptables pour la TVA === Les écritures comptables : en Belgique, chaque trimestre vous devez payer un acompte de TVA qui est égal au tiers du montant dû à la dernière déclaration. \\ == 1.Avance TVA == Écriture : \\ | Débit ||| à | Crédit || | 4117 | Acompte TVA | \\ | \\ | \\ | | \\ | \\ | à | 5500 | Banque | \\ == 2.Déclaration TVA == A la fin du trimestre, il faut regrouper tous les comptes TVA. Si vous devez payer la TVA : \\ Écriture : \\ | Débit ||| \\ | Crédit || | 451x | TVA à payer | \\ | \\ | \\ | | \\ | \\ | à | 411x | TVA à récupérer | | \\ | \\ | \\ | 4117 | Acompte sur TVA | | \\ | \\ | \\ | 4519 | Compte TVA | \\ \\ Si vous devez récupérer de la TVA : \\ Écriture : \\ | Débit ||| Crédit || | 451x | TVA à payer | \\ | \\ | | 4119 | Compte TVA | \\ | \\ | | \\ | \\ | 411x | TVA à récupérer | | \\ | \\ | 4117 | Acompte sur TVA | \\ L'objectif est de connaître vis-à-vis de la TVA et donc le montant indiqué en 4511, 4111 permet de les transfèrer vers le compte de la TVA. Après l'opération le compte « tva à payer » ou « tva à recevoir » est donc à zéro pour la période concernée. \\ **Directive européenne ** **Attention à partir de 2014 la TVA n'est due ou déductible que d'après la date de paiement ** \\ \\ \\ == 3.Réception Récapitulatif de la TVA == Quand vous recevrez la déclaration constatant votre créance : \\ Écriture : \\ | Débit ||| \\ | Crédit || | 4118 | TVA à rembourser par l'administration | \\ | \\ | \\ | | \\ | \\ | à | 4119 | Compte TVA | \\ == 4.Paiement TVA == Ensuite, utilisez le compte 4519 quand vous paierez ou 4118 quand vous paierez avec un compte en banque. \\ === 3.Déclaration Assujetti TVA === Vous pouvez directement faire votre déclaration assujetti. Pour cela, utilisez l'extension pour la TVA. Ne seront prises en compte que les fiches de type client et dont le numéro de TVA n'est pas vide. \\ ==== 2.Fiscalité Belgique : Impôts ==== === 1.Pendant l'exercice === Pendant toute l'année, vous payez probablement des versements anticipés d'impôts. Dans votre comptabilité cela doit apparaître ainsi : \\ 6700 Impôt et précomptes dus ou versés à 5500 Banque \\ Les versements anticipés d'impôt ne sont pas des charges déductibles. \\ === 2.Fin d'exercice === A la fin de l'exercice, vous devez estimer l'impôt. Soit vous pensez que vous aurez à rembourser soit à payer. == 1.Remboursement d'impôt: == Dans ce cas, vous passerez les écritures suivantes : \\ 4120 Impôt estimé à récupérer à 6701 Excédent de versements d'impôt == 2.Dette envers l'impôt == Dans ce cas, vous passerez les écritures suivantes : \\ 6702 Charges fiscales estimées à 4500 Dettes fiscales estimées \\ === 3.L'année suivante === L'année suivante, vous recevez votre extrait de rôle. Suivant que vous ayez prévu d'avoir une dette et une créance d'impôt, il y aura des écritures différentes. == 1.Premier cas, vous pensez avoir une créance. == \\ \\ == 1.La créance estimée est inférieure à ce que vous allez vraiment recevoir. == \\ Autrement dit, vous avez sous-estimé votre créance. Dans ce cas, les écritures seront : \\ 4121 Impôt à récupérer à 7710 Régularisation d'impôt dû ou versé 4120 Impôt estimé à récupérer \\ == 2.La créance estimée est supérieure à ce que vous allez vraiment recevoir, == c'est-à-dire, surestimation de la créance. vous recevrez moins que prévu. \\ Écriture : \\ 4121 Impôt à récupérer à 6710 Supplément d'impôt dû ou versé 4120 Impôt estimé à récupérer == 3.Vous avez correctement estimé votre créance. == Dans ce cas, vous devez simplement faire : \\ 4121 Impôt à récupérer à 4120 Impôt estimé à récupérer \\ \\ \\ Et quand l'argent parviendra sur votre compte : \\ 5500 Banque à 4121 Impôt à récupérer \\ \\ Si vous décidez de le reporter en tant que versement anticipé d'impôt : \\ 6700 Impôt dû ou versé à 4121 Impôt à récupérer \\ == 2.Second cas, vous pensez avoir une dette fiscale == == 1.L'estimation de votre dette fiscale est supérieure à ce que vous allez vraiment payer. == Autrement dit, vous payez moins d'impôt que prévu. \\ Écriture : \\ 4500 Dettes fiscales estimées à 7710 Régularisation d'impôt dû ou versé 4520 Impôt et taxes à payer \\ == 2.L'estimation de votre dette fiscale est inférieure à ce que vous allez vraiment payer. == \\ Autrement dit, vous payez plus d'impôt que prévu. \\ 4500 Dettes fiscales estimées 6710 Supplément d'impôt dû à 4520 Impôt et taxes à payer \\ == 3.Vous avez correctement évalué votre dette fiscale. == Les écritures à passer seront donc : \\ 4500 Dettes fiscales estimées à 4520 Impôt et taxes à payer \\ Puis lors du paiement : \\ 4520 Impôt et taxes à payer à 5500 Banque ==== 3.Fiscalité France ==== Une documentation se trouve dans le forum Législation Française \\ ==== 4.Écriture de fin d'exercice comptable (Belgique) ==== Chaque année est composée de 13 périodes, les 12 premières font exactement un mois mais la 13ième est toujours sur un seul jour : le 31 décembre. C'est cette période qui sera la période de clôture de l'année comptable. Une autre façon de faire serait de créér un journal qui ne serait utilisé que pour les écritures de fin et de début d'année. \\ Pour commencer, changez vos préférences pour avoir cette période par défaut. Normalement vous ne devrez utiliser que le journal des Opérations diverses et aucun autre. \\ Ensuite, imprimez une balance des comptes de l'année écoulée. **->Comptabilité->Impression->Balance** [ COMPTA/PRINT/PRINTBAL ] Cela fait, le reste est assez facile. === 1.Les amortissements === Dans la comptabilité belge, vous trouverez ce qu'il y a à amortir dans le poste « 24xxx », imprimez ces fiches et calculez l'amortissement pour l'année, ensuite en opération diverse, vous l'imputerez ainsi : \\ 63xxx Dotation aux amortissements à 2409xxxx Amortissement \\ Les amortissements et le matériel à amortir sont basés sur le poste 24 en Belgique Évidemment, les postes comptables peuvent un peu changer suivant la façon dont vous avez adapté votre plan comptable. Faites tout de même attention à ne pas mélanger ce que vous avez acheté il y a deux ans et l'année passée. Normalement, chaque élément faisant l'objet d'un amortissement doit avoir un plan d'amortissement, c'est-à-dire un document qui décrit ce qui est amorti, indique la valeur d'acquisition et quelle somme sera amortie sur quelle année. Le document est de format libre, le mieux est d'utiliser une feuille du tableur d'OpenOffice.org pour résumer tout ce qui doit être amorti. Ce document est appelé tableau d'amortissement. les montants des amortissement sont hors TVA \\ Exemple : \\ bureau : valeur d'acquisition 500 euros, acheté en 2003 Amorti en 2003 100 euros Amorti en 2004 100 euros Amorti en 2005 100 euros Amorti en 2006 100 euros Amorti en 2007 100 euros PC: valeur d'acquisition 1200 euros, acheté en 2002 Amorti en 2002 400 euros Amorti en 2003 400 euros Amorti en 2004 400 euros \\ Total à amortir en 2003 : 100 (pour le bureau) + 400 (pour le PC) \\ Le plus simple est évidemment d'uiliser le plugin amortissement. La documentation pour ce plugin est sur [[http://wiki.phpcompta.eu/|http://wiki.phpcompta.eu]] \\ === 2.Les dépenses non admises === Dans la fiscalité belge, il s'agit entre autres d'un pourcentage des frais de voiture (taxes de roulage, car wash...), des frais de restaurants, des versements anticipés d'impôt et des paiements des impôts d'années antérieures. Vous devez donc utiliser le compte « 67xxx » pour diminuer les charges de leur partie non déductible (en Belgique). Afin de simplifier, il est possible d'ajouter l'attribut à une fiche, dépense non admise et d'y indiquer un pourcentage sous forme numérique exemple 0,25 au lieu de 25%, 0,33 pour 33%... Le compte lié aux dépenses non admises, réglable « paramètres → divers → poste comptable », doit exister dans votre plan comptable. Vous pouvez aussi configurer les postes de contrepartie, c'est-à-dire ceux qui seront débités par la dépense non admises par fiche, en ajoutant les attributs « contrepartie pour dépenses fiscal. Non déd », « contrepartie pour dépense à charge du gérant », « contrepartie pour TVA non ded. », « contrepartie pour TVA récup par impôt » \\ Exemple Vous souhaitez qu'automatiquement les frais de restaurant soient de 25% non déductible fiscalement \\ Vous ajoutez alors à la catégorie de fiche où se trouvent les frais de restaurant, l'attribut « Partie fiscalement non déductible », et pour cette fiche vous indiquez 0,25 Si vous encodez une note de restaurant, automatiquement 25% seront placé dans le compte dépense non admise par défaut, il se configure dans paramètres → divers → poste comptable. \\ Exemple pour la Belgique Tous les codes doivent être présents si ce n'est pas le cas, il faut ajouter dans la table parm_code \\ | BANQUE | Poste comptable de base pour les banques | 550 | | CAISSE | Poste comptable pour la caisse | 57 | | COMPTE_COURANT | Poste comptable pour le compte courant | 56 | | COMPTE_TVA | TVA à payer | 451 | | CUSTOMER | Poste comptable de base pour les clients | 400 | | DEP_PRIV | Depense a charge du gerant | 4890 | | DNA | Dépense non déductible | 6740 | | SUPPLIER | Poste par défaut pour les fournisseurs | 440 | | TVA_DED_IMPOT | Tva déductible par l'impôt | 619000 | | TVA_DNA | Tva non déductible | 6740 | | VENTE | Poste comptable de base pour les ventes | 70 | | VIREMENT_INTERNE | Poste Comptable pour les virements internes | 58 | \\ Admettons que vous préfériez que ce ne soit pas le compte par défaut mais un autre compte propre aux dépenses non admises de restaurant, dans ce cas, vous ajoutez l'attribut « contrepartie pour dépense fiscalement non ded. »; et pour cette fiche, vous indiquez le compte voulu. Dès lors, les dépenses de restaurant se rangeront automatiquement dans ce compte-là. Si vous n'indiquez pas la contrepartie, ce sera le compte par défaut qui sera utilisé. \\ Conseillé Créer des comptes pour chaque dépenses non admises et donner les postes comptables en contrepartie, ainsi la ventilation des dépenses non admises sera plus facile à faire pour la déclaration d'impôt. === 3.Reclassement des Charges, Produits et Dettes === Il faut tout d'abord retrouver tous les fournisseurs non payés au 31 décembre et vérifier qu'ils n'ont pas été payés dans le courant de janvier ou de février. Si c'est le cas on aura un reclassement de dettes, sinon on devra penser que la dette a été payée par le gérant ou que la dette est toujours due. Cela doit se régler au cas par cas. Il faut aborder la régularisation des comptes de charges et des produits (comptes 490, 491, 492, ,493), les dettes supérieures à un an échéant dans l'année... (doit être complété). \\ === 4.Les variations de stocks === En fin d'année, il faut faire l'inventaire du stock. Soit on a plus de marchandises que ce qu'il est inscrit dans notre comptabilité, on aura alors une réduction de charge (340 à 6094), soit on aura moins de marchandises que prévu, dans ce cas il y aura une augmentation des charges (6094 à 340). === 5.Compte de l'exploitant === Certaines dépenses ont été payées par le gérant ou l'administrateur en liquide. Donc ces paiements ne figureront pas dans les extraits de compte de la banque. La seule façon de faire est d'utiliser les comptes 4890 dans le cas d'une dette envers le gérant ou 4160 dans le cas d'une créance sur le gérant. Il faut donc solder ces comptes et constater la dette ou la créance. === 6.Affectation du résultat === La dernière étape avant le bilan : affecter le résultat de l'exercice, que ce soit un bénéfice ou une perte. Vous pouvez utiliser l'impression de bilan pour vérifier. - Aller dans **Comptabilité=>Impression=>Bilan** [ COMPTA/PRINT/PRINTBILAN ] - Sélectionner l'exercice courant , les dates de début et de fin - Cliquer sur **Vérification Comptabilité** Il ne peut pas y avoir d'anomalies indiquées, ni de différences entre le total du passif et le total de l'actif, ni entre les charges et les produits. S'il y en a une, elle correspond souvent à une perte ou un bénéfice, qu'il faudra reporter sur l'exercice suivant. ==== 5.Salaire et Compte de gérant ==== Le gérant utilisera les comptes 4890 et 4160 pour gérer l'argent qu'il prélève ou qu'il avance à sa société. Ces comptes peuvent aussi être utilisés lors du paiement des salaires. Il est important de rappeler qu'en Belgique, il est nécessaire de payer le précompte professionnel. Normalement, ce sont des fiches de types « Compte Administrateur / employé » \\ \\ ======= Chapitre 3 ======= ====== Tenir sa comptabilité avec Noalyss ====== \\ \\ ===== 1.Principe de base ===== Avant de commencer, il faut absolument comprendre le système de fiche de PhpCompta, sinon les explications qui suivent seront obscures. Les fiches sont la base même de PhpCompta. ==== 1.Qu'est qu'une fiche ? ==== Pour vous l'expliquer simplement, imaginons que vous deviez payer un loyer, c'est une dépense, dans ce cas, vous aimeriez les regrouper dans une catégorie qui sera créée sur base d'un modèle et qui ne concerne que les dépenses. \\ Le loyer, est la fiche, la catégories sera probablement Service et biens Divers et le modèle sera tout simplement : Dépense. \\ Quand vous organisez votre comptabilité, pour avoir plus de clarté, vous pouvez décider de séparer les dépenses faites par exemple pour la voiture des autres. Pour cela, vous créez une autre catégorie de dépense. Vous pouvez permettre que certaines catégories de fiches soient utilisable qu'avec un certain journal. Par exemple, si vous souhaitez un journal de dépense ne contenant que les taxes et vous souhaitez éviter que ces dépenses soit dans le journal d'achat général... PhpCompta est très souple, le plugin « outils comptables » vous permet de déplacer les opérations d'un journal à l'autre, de changer les postes comptables d'opération déjà effectuées... \\ \\ Vous pouvez appliquer la même logique pour les clients, les fournisseurs, les comptes en banques, les matériels à amortir. \\ On propose une dizaine de modèles différents pour créer vos catégories de fiche. Ces catégories peuvent être modifiées et peuvent avoir plus de détails. Les marchandises peuvent avoir en plus un code de stock, les clients un email, … Les fiches sont complètement flexibles et contiennent tout ce que vous voulez. Si vous ne trouvez pas le modèle qu'il vous faut, créez simple une catégorie en vous basant sur « Autres » et ajouter les attributs (nom, prénom, …) nécessaires, s'il n'y a pas les attributs qui vous intéressent vous pouvez aussi les ajouter dans CFGATCARD. \\ Pour créer une catégorie de fiche, cliquez sur Fiche et à droite sur création. Vous devez donner le nom de la catégorie et le modèle de fiche que vous voulez (dépense, amortissement,...) \\ La classe de base est le poste comptable de base de vos fiches, ce poste doit exister, si vous cliquez sur "création automatique du poste comptable" cela permet de générer automatiquement le poste comptable voulu à partir du poste comptable de base, ce poste sera automatiquement ajouté dans le Plan Comptable (cette option est conseillée). **Attention, si vous utilisez le double poste comptable voir [[#8.5.3.Plusieurs postes comptables|outline|Plusieurs postes comptables]] ) alors la numérotation ne sera pas automatique. ** Vous pouvez avoir des comptes alphanumérique si dans COMPANY vous avez le paramètre « comptabilité alphanumérique » à oui. Dans ce cas-là, le nom sera utilisé pour composer le nouveau poste comptable, pensez à vous assurez que ce numéro de compte n'est pas déjà utilisé. Dans le cas, où vous donnez un poste comptable alors il sera créé s'il n'existait pas déjà. \\ Si cette option n'est pas cochée, le poste comptable de la fiche est celui de la catégorie, mais vous gardez la possibilité de spécifier le poste comptable de la fiche. Si vous ne souhaitez pas que chaque fiche ait son propre poste comptable, ne cochez pas l'option. Dans ce cas, soit le modèle a un poste comptable de base qui deviendra alors le défaut, soit vous en fournissez un qui deviendra le poste comptable par défaut pour cette catégorie de fiche, soit le modèle n'a pas de poste comptable et dans ce cas, il n'y aura aucun poste comptable. (Exemple: les contacts) Pour simplifier : \\ * ·Vous voulez que chaque fiche ait son propre poste comptable et vous souhaitez que ce poste soit créé automatiquement : cochez la case * ·Vous souhaitez qu'il n'y ait pas de poste comptable attaché à chaque fiche : enlever l'attribut « poste comptable » de la catégorie. Exemple : les contacts * ·Vous souhaitez que toutes les fiches aient le même poste comptable, n'utilisez pas la numérotation automatique. Dans ce cas, les balances des comptes t l'historique se fera grâce aux fiches. * Vous donnez un poste comptable alors il sera créé s'il n'existait pas déjà. \\ Toutes les fiches auront le poste comptable donné dans 'Classe de base' c'est-à-dire le poste comptable pour cette catégorie de fiche, si cette classe de base est vide, le poste comptable sera celui du modèle de base, si le modèle de base n'en a pas, alors il n'y aura pas de poste comptable de base. Le menu Fiche vous permet d'ajouter et de modifier des fiches mais aussi de leur ajouter des attributs; un attribut est par exemple une adresse, une partie non déductible... Une fiche peut avoir deux postes comptables, suivant qu'on l'utilise au débit ou au crédit; par exemple pour des marchandises à vendre. Pour cela, il suffit de mettre dans le poste comptable de la fiche, les deux postes séparés par une virgule. Dans ce cas-là évidemment il n'y aura pas de numérotation automatique. Les fiches peuvent aussi être déplacés d'une catégorie à une autre, dans ce cas-là, attention les attributs n'existant pas dans la catégorie de destination seront ajoutés. \\ Si vous activez la numérotation automatique et le dossier accepte des comptes alphanumérique (AD=COMPANY), le poste comptable calculé sera le poste de base plus le nom de la fiche. \\ \\ \\ \\ \\ ==== 2.Qu'est-ce le quick code ==== Le quick code a été introduit afin de pouvoir encoder plus rapidement, c'est une suite de lettre identifiant de manière unique une fiche. Par exemple: TEL pour la fiche de téléphone, RESTO pour la fiche restaurant... Le quick code est tout à fait libre. ==== 3.Ajout ou suppression d'attribut ==== Il est possible d'ajouter des attributs et aussi d'en enlever mais seuls les attributs non définis de base peuvent être supprimés, autrement dit seuls les attributs que vous avez ajoutés peuvent être enlevés. Cette opération n'est pas réversible et cela modifiera toutes les fiches existantes de cette catégorie de fiches, les valeurs de ces attributs seront définitivement perdues. Faites des tests dans la base de données "demo" si vous ne comprenez pas bien. Vous pouvez ajouter vos propres détails dans AC=CFGATCARD. Vous donnez simplement le nom du détail, le type (numérique, date, zone ou texte), puis vous pouvez dans le menu fiche, en cliquant sur la catégorie, ajoutez ces détails. Automatiquement toutes les fiches de cette catégorie, auront ces détails supplémentaire. \\ Par exemple, si vous avez des adhérents, vous pouvez ajouter un détail « cotisation » ou « date de renouvellement », dans impression → catégorie → résumé, vous pouvez tout simplement l'exporter en CVS, récupérer le résultat avec un tableur et gérer la liste de vos adhérents. \\ Les types d'attribut * Texte zone de text (1 ligne) * Date une date * Nombre un nombre à 2 décimales * Poste comptable un poste comptable * Selection un choix entre plusieurs valeurs, vous devez entrer ici une commande sql retournant 2 colonnes, exemple select 1, 'Monsieur' union 2,'Madame' pour avoir un choix entre Monsieur et Madame * fiche un choix de fiche exemple [sql] frd_id =8 vous permettra de choisir une fiche de type fournisseur. * Zone de texte plusieurs lignes de texte ==== 4.Création d'une catégorie de fiche ==== Les catégories de fiches sont en fait le rassemblement de fiches; par exemple, les marchandises, les clients, les fournisseurs... \\ \\ Les classes sont les postes comptables à partir duquel on calcule le poste comptable suivant, ces postes peuvent être configurés dans la partie « paramètre » Achat Marchandises Class base = 603 \\ Achat Service et biens divers Class base = 61 \\ Administration des Finances \\ Autres fiches : fiches que l'on peut totalement paramétrer\\ Banque Class base = 51 \\ Clients Class base = 410 \\ Contact : contact pour un client, une administration ou un fournisseur \\ Dépenses non admises Class base = 674 \\ Escomptes accordées Class base = 66 \\ Fournisseurs Class base = 400 \\ Matériel à amortir, immobilisation corporelle Class base = 21 \\ Prêt < a un an Prêt > a un an Class base = 27 \\ Produits Financiers Class base = 76 \\ Salaire Administrateur Class base = 644 \\ Salaire Employé Class base = 641 \\ Salaire Ouvrier Class base = 641 \\ Vente Service Class base = 706\\ Compte Administrateur/Employé : fiche utilisée pour les notes de frais Cas spécial : la classe de base "Autre" permet de créer des fiches sur mesure, par exemple: liste des employés, d'adhérents...Bien qu'en fait, les adhérents, les gérants peuvent utilisés des fiches clients ou fournisseurs mais avec un autre poste comptable de base. ==== 5.Création d'une fiche ==== Vous pouvez créer les fiches de 4 manières : * Directement dans le journal dans lequel vous travailler * Dans le suivi client, fournisseur... * Avec le plugin importation de fiches * Dans le menu CARD. === 1.Le menu fiche === AD CARD Dans ce menu, vous pouvez soit avoir l'historique de chaque fiche, soit la balance, soit les opérations lettrées ou non, soit le résumé de la catégories (càd toutes les fiches avec tous leurs attributs) sous forme de tableau. Avec la sélection liste, il est possible de demander d'effacer des fiches ou de les déplacer dans une autre catégorie. \\ \\ Exemple M DURANT a une petite association, il n'y a que 20 membres, il peut donc créer une catégorie pour les membres, il va d'abord dans CFGCARDCAT pour ajouter les attributs qui lui manque, il aimerait avoir la date de cotisation, et la date de fin de validité, il ajoute donc ces 2 attributs avec le type DATE. \\ Il va dans CFGCARD créé une catégorie basé sur client puis ajouter les attributs qu'il aimerait avoir, dont la date de cotisation, et la date de fin de validité \\ Une fois par mois, M. DURAND dans CARD exporte ces fiches (résumé) en format CSV et dans son tableur il peut facilement voir quels sont les adhérents dont la cotisation est arrivée à échéance\\ \\ === 2.Remarque === Vous n'êtes pas obligé de créer une fiche pour tout, par exemple pour les restaurants, vous pouvez encoder une seule et unique fiche appelée « restaurant » et non pas une fiche pour chaque restaurant. \\ ==== 6.Modification d'une fiche ==== Pour modifier une fiche, on peut le faire comme pour les créations de fiches, mais aussi depuis le détail d'une opération ou en double cliquant sur le quick-code dans l'un des journaux. \\ Exemple Vous souhaitez encoder une vente, vous retrouvez le client grâce à la recherche de fiche, soit sur base de son nom, quick-code ou son numéro de tva. Vous le sélectionnez, le quick-code se met dans la case client, en double cliquant sur cette case apparaît une fenêtre vous permettant de modifier la fiche (la sécurité pourrait vous en empêcher). \\ Modifier le nom d'une fiche ne modifiera pas son nom dans le Plan Comptable. ==== 7.Attribut spéciaux : dépenses non admises, pourcentage professionnel...: ==== Ces attributs sont utilisés quand vous entrez une opération de dépense dans le journal d'Achat (ACH) === 1.Partie fiscalement non déductible === Entre 0 & 1 (exemple 0,05 pour 5%), il s'agit de ce que vous ne pourrez pas déduire comme charge. En cas d'achat sur cette fiche, le montant HTVA est multiplié par ce que vous avez inscrit ici sera rangé dans les dépenses non admises, le poste comptable est celui qui est indiqué dans CFGACC ou celui indiqué comme contrepartie \\ === 2.Contrepartie pour dépense fiscal. non déd. === Poste comptable pour les dépenses non déductibles d'une fiche \\ === 3.TVA non déductible === Contrepartie pour TVA non Ded. . Poste comptable pour les TVA non déductibles. Attention le montant de la tva est calculé sur le tout et pas seulement sur la partie professionnel donc si vous utilisez « dépense à charge du gérant » vous aurez aussi besoin de cet attribut \\ === 4.TVA non déductible récupérable par l'impôt === Contrepartie pour TVA récup par impot Poste comptable pour les TVA non déductible récupérable par l'impôt \\ === 5.Dépense charge du grant (partie privé) === pourcentage (entre 0 et 1), qui va partager le montant de la fiche entre dépense et dépense privée, \\ **Si une partie de la dépense est à charge du gérant, cela n'affecte pas la TVA qui reste calculée sur la totalité du montant HTVA. Si une partie de la TVA doit aussi être à la charge du gérant, il faut ajouter les attributs TVA Non Déductible avec le même taux et le compte du gérant dans la contrepartie pour TVA non déductible** \\ \\ === 6.Contrepartie pour dépense à charge du gérant === Poste comptable pour les dépenses à charge du grant (partie privé) \\ === 7.Prix de vente === le prix qui sera utilisé pour complèter une opération dans un journal de recette (vente) \\ === 8.Prix d'achat === le prix qui sera utilisé pour complèter une opération dans un journal de dépense (achat) \\ ==== 8.Poste comptable ==== Dans le cas où vous changez le poste comptable d'une fiche, il n'y a pas d'adaptation des journaux. Cette adaptation aurait pu avoir des conséquences graves comme par exemple dans le cas où vous avez plusieurs exercices dans un même dossier, et que des déclarations ont déjà été faites. Il vaut mieux utiliser le plugin « outil comptable » après avoir changé le poste comptable d'une fiche afin d'harmoniser votre comptabilité. Si vous avez activé l'option « création automatique du poste comptable » de la catégorie, soit la fiche a un poste comptable calculé en numérique soit en alphanumérique suivant que vous ayez ou nom activé l'option « Poste comptable alphanumérique ». Il est conseillé que chaque fiche ait son propre poste comptable, donc dans la catégorie cochez la case «Chaque fiche aura automatiquement son propre poste comptable : » ==== 9.Plusieurs postes comptables ==== Il est possible qu'une même fiche ait deux postes comptables, par exemple, une fiche pour un client ET un fournisseur ou des marchandises qu'on vend et achète; dans ce cas-là, il est nécessaire d'avoir deux postes comptables. Dans les propriétés de la fiche, dans poste comptable, vous mettez alors deux postes séparés par une virgule, ces deux postes doivent exister dans le plan comptable, le premier est toujours le débit et le second est toujours le crédit. Dans ce cas-là, le fait que vous ayez déclaré la fiche de type client ou fournisseur n'interviendra pas, isolez cette sorte de fiche dans une catégorie séparée. | Journal | Pour | Poste comptable utilisé | | Vente | Client | Débit | | Vente | Produit | Crédit | | Vente – paiement par | Banque / Cash ... | Crédit | | Vente paiement par | Client | Débit | | Achat | Fournisseur | Crédit | | Achat | Charges | Débit | | Achat paiement par | Banque/note de frais | Crédit | | Achat paiement par | Client | Débit | | Écriture Directe | Tous | Suivant indication débit ou crédit | | Banque | Banque | Suivant le montant, s'il est négatif, votre compte en banque diminue donc on prend le crédit de la fiche banque et le débit de la fiche client/fournisseur. Sinon c'est l'inverse, le débit de la fiche banque et le crédit de la fiche client/fournisseur | \\ \\ Dans le cas, où l'on créé une catégorie de fiche avec un double poste comptable, toutes fiches de cette catégorie aura ce double poste comptable par défaut, et le calcul automatique d'un nouveau poste comptable ne se fera pas. Dans le cas d'un paiement bancaire, on utilisera le poste comptable fournisseur si le montant est négatif sinon le poste comptable client. Attention fiche avec deux postes comptable il y a des problèmes à utiliser deux postes comptables pour les clients et les fournisseurs dans le cas de note de crédit ou de reprise de marchandises - Le lettrage par quick_code pourra faire correspondre des postes comptables différentes - L' extension TVA ne tient compte que des journaux achats et ventes - Lors du remboursement de la note de crédit, ce sera le poste comptable client qui sera utilisé : on suppose que si on reçoit un paiement c'est le client qui paie, et que si on en fait un, c'est un fournisseur que l'on paie \\ ==== 10.Exemple de configuration de fiche ==== Monsieur DURAND décide d'utiliser PhpCompta, pour les dépenses il a : * Electricité * Loyer * Bics, papier, crayon * Ordinateur * Imprimante * Essence * voiture * Assurance voiture Il décide de séparer les frais de voiture, des autres. Donc il créé 3 catégories de dépenses basées sur le modèle de dépense. \\ La première catégorie est Services et Biens Divers, la seconde est « Frais de voiture » et la troisième est « Bien à Amortir ». \\ Il va dans CFGCARD, crée la première la première catégorie « Service et Bien divers » en se basant sur « Achat Services et Bien Divers », il donne comme compte centralisateur (ou compte de base) le compte 611, il active la création automatique du poste comptable. Après validation, le poste centralisateur a été créé, il doit maintenant ajouter les attributs, il ajoute donc * Description Afin d'ajouter une description à ses fiches * Contrepartie pour dépense à charge du gérant, qui sera le poste comptable où sera imputé les dépenses privées * Dépense à charge du gérant Ensuite, il veut avoir les attributs dans un certain ordre, il change le numéro d'ordre de description et lui donne 5 comme valeur, de façon à ce que ce soit le second champs et le quick-code à 500 pour qu'il soit le dernier, le « Prix d'achat » à 30 pour l'avoir avant le taux de TVA. Il clique sur sauver pour sauver l'ordre, ajouter cet élément pour ajouter l'attribut sélectionné. \\ Ensuite, il créé la seconde catégorie « Frais de voiture » de la même façon avec comme compte centralisateur (compte de base) 613 et active la création automatique du poste comptable. Il ajoute les attributs « Description, TVA Non déductible, Contrepartie pour la TVA non déductible », \\ Finalement, il crée la troisième catégorie « Bien à Amortir », en se basant sur le modèle « Matériel à amortir », cette fois-ci il ne créera pas de poste par bien donc il n'active pas l'option «création automatique du poste comptable » , il compte utiliser le plugin pour l'amortissement pour le suivi. De toute façon, il peut avoir le détail de ce compte centralisateur en faisant une balance par Fiche. \\ Afin que ces catégories soient accessibles dans le journa Achat , il configure dans CFGLED le journal d'achat en mettant ces catégories de fiches au débit \\ Pour finir , soit il ira dans CARD, et ajoutera les fiches, soit il les créera dans un tableur et utilisera le plugin « import de fiches » pour les importer soit il les créera au fur et à mesure de leur utilisation ===== 2.Comptabilité ===== \\ Il existe 4 sortes de journaux : \\ · »Recette», destiné à contenir les opérations de vente, accessible avec le code AD VEN \\ · »__Achat__ », qui regroupe les opérations du même nom, accessible avec le code AD ACH \\ · »__Financier__ » : celui regroupant tous les mouvements financiers (banque, caisse...) accessible avec le code AD FIN; \\ · »__Opérations diverses__ » : il contient toutes les autres opérations (augmentation de capital, amortissements, ... ), accessible avec le code AD ODS. Les journaux « Anouveau » sont en fait des journaux de type Opérations Diverses \\ Vous pouvez créer autant de journaux que vous le souhaitez \\ Pour tous les types de journaux, vous pouvez voir toutes les opérations avec une recherche possible. Si on clique sur détail, on voit le détail de l'opération, on peut changer la description, ajouter un fichier ou modifier les montants pour la comptabilité analytique. Le bouton effacer efface l'opération et la recopie dans une table spéciale. Dans le cas où vous êtes dans une période fermée ou en mode strict, l'opération sera extournée, c'est-à-dire annulée par son écriture inverse; dans ce cas, lors d'impressions simple pour les journaux de vente et d'achat, il y aura une ligne avec le montant en négatif, pour extourner il faut entrer une date valide. Une date valide est une date qui est dans une période non fermée et dans une période du dossier. \\ Les opérations compables peuvent soit avoir une pièce attachée soit un commentaire libre. Ce commentaire sur des opérations n'a absolument aucune importance d'un point de vue comptable, c'est juste une aide, une sorte de « Post It ». \\ Si on clique sur le numéro interne d'une opération, on obtient : * le détail de l'opération * les écritures comptables qui ont été générées * la pièce justificative attachée * la possibilité de changer la date, le libellé ou de charger la pièce dans cette fenêtre, en cliquant sur un poste comptable ou le quick code d'une fiche, on obtient son historique, ainsi que la balance progressive ==== 1.Les numéros de Pièces Justificatives ==== Avant d'encoder vos premières opérations, il est utile de parler des pièces justificatives; la règle est simple, toute opération comptable doit être justifiée par un document numéroté de manière séquentielle, ce document est la pièce justificative. La numération se configure dans le menu paramètre, vous pouvez spécifier la valeur de départ ainsi que le préfixe. Dans le cas où le numéro de pièce existe déjà dans ce journal, le programme va essayer de lui donner une autre valeur et vous en avertira (sauf dans le cas des journaux financiers où il n'y a pas ni contrôle ni changement). Si vous entrez vous même vos numéros de pièces, ou si vous n'en voulez pas au moment de l'encodage vous pouvez désactiver cette fonctionnalité. Dans le cas où vous forcez un autre numéro de pièce que celui proposé, la séquence de numérotation ne sera augmenté de 1. \\ Exemple : N° de PJ donné ACH100, vous forcez à PREDEF, pour la prochaine opération, il sera à nouveau proposé ACH100. \\ ==== 2.Vente ou Journal des Recettes ==== \\ Le journal des recettes regroupe les opérations de vente. C'est très simple: vous devez juste ajouter le client, la date et évidemment les articles. Les échéances, ne servent qu'à vous, cela vous permet de filtrer les ventes non payées et de voir qui a dépassé l'échéance. \\ Afin d'utiliser des rabais et des fiches, vous créez une fiche « rabais et remises », dans la catégorie utilisée pour les ventes, vérifier dans votre plan comptable le numéro à utiliser. Le montant doit être donné en négatif, ce n'est pas un pourcentage. \\ Pour ajouter une vente, cliquez sur « nouvelle vente », puis utilisez les boutons pour ajouter les clients, services et marchandises que l'on vend. \\ En cas de reprise de matériel dans le stock, vous pouvez mettre des quantités négatives - des quantités, pas des prix unitaires -. Le stock sera automatiquement réadapté pour tenir compte de ce retour de matériel si vous utilisez des codes de stock. \\ \\ Avant d'utiliser la section « Payé par » vous devez d'abord le paramétrer correctement. L'option « Payé par » va générer une seconde écriture dans le journal et avec le compte donné sauf si vous avez sélectionné « Paiement encodé plus tard ». \\ Dans les journaux de vente, on peut directement donner le mode de paiement, vous pouvez encoder autant de mode de paiement, simplement quand vous recevez vos relevés, il faudra aller dans Financier → rapprochement bancaire afin de donner le numéro de relevé à vos encaissements. \\ Afin de générer une facture, ce ne sera proposé que si vous avez un modèle de facture disponible. \\ La TVA est calculée automatiquement mais il est possible de forcer une autre valeur, il y a aura un avertissement lors de la confirmation. \\ Si vous voulez générer en même temps, une facture et un bordereau de livraison, il suffit de mettre dans le même modèle de document, le modèle pour la facture et celui pour le bordereau de livraison. Le document généré contiendra donc la facture et le bordereau ==== 3.Dépense ou Journal des Achats ==== \\ Cela reprend uniquement les opérations d'achat que ce soit pour l'achat de marchandises, de services ou de matériel.La TVA est calculée automatiquement mais il est possible de forcer une autre valeur, il y a aura un avertissement lors de la confirmation. Les journaux d'achat et de vente, permettent aussi d'encoder directement le paiement, il faudra d'abord paramétrer les méthodes de paiement correctement (voir Paramètres) \\ C'est à partir du journal d'achat que l'on peut générer des notes de frais. Pour cela, il suffit d'aller dans paramètres et d'ajouter un document de type « Note de frais ». Automatiquement, avant de confirmer l'opération, il vous sera demander si vous voulez générer une note de frais (par défaut non). Tandis que le journal de vente, lui, vous permet de générer les factures. Les lettres de rappel ainsi que les autres documents ne peuvent être générés que dans le suivi courrier \\ Avant d'utiliser la section « Payé par » vous devez d'abord le paramétrer correctement l'option « Payé par » va générer une seconde écriture dans le journal que vous avez paramétré et avec le compte donné. Les opérations seront automatiquement rapprochées. Cette seconde écriture se fera dans le journal choisi mais aura un montant dimininué de l'acompte. \\ \\ Si vous encodez tous vos souches TVA pour vos restaurant en une fois, vous pouvez générer un document récapitulatif auquel vous attacherez vos souches. ==== 4.Financier ou Journal Financier ==== Uniquement pour gérer les comptes en banque, Visa, bref tout ce qui est financier (pas les prêts qui devraient être en opération diverses mais bien le paiement de ces prêts). La date est importante, il est important de vous rappeler : on vous donne l'ancien solde et le nouveau, vérifiez sur vos extraits que cela correspond bien. On peut soit donner la date du relevé bancaire et toutes les opérations auront cette date, soit choisir une date par opération. \\ Le commentaire est optionnel, c'est ce que vous verrez apparaître lorsque vous regarderez votre journal. \\ Introduisez un montant négatif si vous payez (le compte diminue) et un montant positif si vous recevez de l'argent. \\ Quand vous demandez les soldes des comptes, vous verrez trois colonnes : * solde est le solde du compte en banque d'après votre comptabilité * solde rapproché est le solde de votre compte en banque mais en ne considérant que les opérations **qui ont** un numéro d'extrait de compte ou de relevé bancaire * solde non rapproché est le solde de votre compte en banque mais en ne considérant que les opérations **qui ****n'ont pas **un numéro d'extrait de compte ou de relevé bancaire ==== 5.Les rapprochements bancaires ==== \\ Les rapprochements bancaire vous permettent de donner un numéro d'extrait de compte à des opérations qui n'en ont pas, parce qu'elles ont été générées automatiquement lors d'une vente ou d'un achat. Si vous utilisez ce mode, lors de la réception de votre relevé bancaire, vous sélectionnez les opérations concernées, le montant total est vérifié. S'il ne correspond pas à celui du relevé il y a juste une alerte. \\ Pour connaître le total d'un relevé allez soit dans Journal Financier → liste ou recherche ou historique et faites une recherche sur le numéro de relevé \\ Vous n'êtes pas obligé d'utiliser cette méthode de travail. Beaucoup préfèrent attendre leur relevé bancaire pour encoder et rapprocher manuellement. Cette méthode malheureusement est plus laborieuse que simplement donner le mode de paiement et faire le rapprochement par la suite, mais elle a l'avantage de limiter les erreurs. Le plus simple est d'importer vos relevés de banque avec le plugin « import banque » Le fait d'effacer une opération pour laquelle il y a eu une génération automatique de la méthode de paiement, n'efface pas l'opération de paiement ==== 6.Journal des Opérations diverses ==== Il reprend toutes les opérations qui ne sont pas comprises dans les autres journaux. Ce qui implique les amortissements, parfois les salaires ou les produits financiers, les dépenses non admises, le paiement de l'impôt, de la TVA, les garanties... \\ Pour le profil comptable, vous devez mettre un filtre pour les comptes visibles au débit ou au crédit. \\ //Exemple// : le journal n'utilisera que les comptes commençant par 60 ou 411 et le poste 550. \\ Postes utilisables journal (débit crédit)60* 411* 550 \\ Ceux qui terminent par une étoile reprennent les comptes qui commencent par l'expression, ainsi 411* reprendra 411, 4111, 4112,4113 et 4114. Vous séparez les différents comptes par un espace. \\ ==== 7.Cas particuliers ==== Les cartes de crédit : la Visa = changement de créancier : Visa paie le fournisseur, vous payez Visa, vous pourriez aussi le mettre dans un journal financier. \\ Il y a deux méthodes : \\ Soit vous encodez vos dépenses en même temps que vous recevez votre relevé. Les achats dans le journal d'achat et les paiements par Carte de crédit dans un journal financier lié à cette carte \\ Soit vous ajoutez un mode de paiement pour la visa, dans ce dernier cas, quand vous recevrez le relevé de vos achat par VISA, dans financier → rapprochement bancaire , vous sélectionnez les achats figurant sur votre relevé, cela donnera à chaque opération le numéro de relevé comme numéro de pièce justificative. \\ La seconde méthode peut aussi être utilisée pour les paiements par virement bancaire ou par chèque. \\ Le paiement par chèque utilise normalement un compte « effet à payer » ou « effet à recevoir » certains n'utilisent pas ce compte et imputent directement les paiements par chèque sur un compte en banque. Si vous utilisez un compte intermédiaire, vous n'utilisez pas le rapprochement bancaire et encodez simplement des opérations dans le journal financier, entre la banque et les effets à payer ou à recevoir lors de la réception de l'extrait de compte (relevé bancaire) \\ Les salaires peuvent être soit dans un journal d'achat et les produits financiers dans un journal de vente, mais ils pourraient tous deux être dans le journal d'opérations diverses. \\ \\ \\ ===== 3.Schéma d'écriture ===== \\ Toutes les opérations comptables dans les journaux seront transformées en écritures comptables, il est donc important de bien paramétrer votre dossier de comptabilité \\ Les prix, la TVA proviennent des détails de la fiche sélectionnée, vous pouvez modifier au moment de l'encodage \\ En cas de montant négatif, les écritures sont inversées. Cette fonctionnalité est utilisée pour annuler une opération précédente ou pour faire des remises, des notes de crédit... \\ \\ ==== 1.Facture de vente ==== \\ | Débit | Crédit | | Poste comptable de la fiche client | \\ | | Éventuellement, remise rabais ... | \\ | | \\ | Poste comptable de la 1ère fiche prestation, marchandise... | | \\ | Poste comptable de la 2nde fiche prestation, marchandise... | | \\ | Poste comptable de la 3ième fiche prestation, marchandise... | | \\ | ... | | \\ | Total de la TVA par type de TVA | \\ Dans le cas, où on encode directement un paiement une seconde écriture est générée et rapprochée à la première \\ | Débit | Crédit | | Poste comptable de la fiche pour le paiement (se paramètre dans paramètres → divers → mode de paiement) | \\ | | \\ | Poste comptable de la fiche client | \\ Si vous payez votre fournisseur par chèque ou par visa, il est préférable d'utiliser un mode de paiement, sinon vous devrez encoder cette opération dans un journal d'opération diverses. ==== 2.Facture d'achat ==== \\ | Débit | Crédit | | Poste comptable de la 1ère fiche charge, ... | \\ | | Poste comptable de la 2nde fiche charge | \\ | | Poste comptable de la 1ère fiche charge | \\ | | Total de la TVA par type de TVA | \\ | | Éventuellement partie privé défini dans la TVA fiche | \\ | | Éventuellement partie non déductible défini dans la fiche, le poste comptable utilisé est paramétré dans paramètres → poste comptable dépense non admise | \\ | | Éventuellement partie de la TVA non déductible | \\ | | \\ | Éventuellement, remise rabais, note de crédit obtenue ... | | \\ | Poste comptable de la fiche fournisseur | \\ Dans le cas, où on encode directement un paiement une seconde écriture est générée et rapprochée à la première, si le client paie par chèque ou par visa, il est préférable d'utiliser un mode de paiement, sinon vous devrez encoder une seconde opération dans un journal d'opération diverses. \\ Dans le cas où une partie de l'achat est une dépense privée, vous pouvez soit changer la fiche et ajouter les attributs « dépense privée » et « contrepartie dépense privée » soit tout simplement crée une fiche « Dépense privée ». Lors de l'encodage de la facture, il suffit de décomposer le montant en 2, professionnel et privé, la première partie utilisera une fiche dépense normale, et l'autre partie utilisera la fiche « dépense privée » \\ | Débit | Crédit | | Poste comptable de la fiche fournisseur | \\ | | \\ | Poste comptable de la fiche pour le paiement (se paramètre dans paramètres → divers → mode de paiement) | \\ \\ Pour si vous utilisez le mode de paiement, rappelez-vous qu'il y a un rapprochement bancaire à faire, mais dans le cas des chèques, il existe deux méthodes : la première est la bonne façon de faire en Belgique, il faut utiliser un compte intermédiaire et dans un autre journal que celui de la banque, lors de l'encaissement ou le décaissement du chèque, il faudra passer les opérations dans le journal financier du compte en banque concerné, l'autre méthode consiste à imputer directement sur le compte en banque ==== 3.Banque ==== Les journaux financier n'utilise qu'une seule fiche banque, qui est normalement le compte en banque sur lequel on impute les montants === 1.Encaissements === \\ \\ | Débit | Crédit | | Poste comptable de la fiche de banque | \\ | | \\ | Poste comptable de la fiche client | \\ \\ === 2.Décaissement === \\ | Débit | Crédit | | Poste comptable de la fiche fournisseur | \\ | | \\ | Poste comptable de la fiche de banque | \\ \\ \\ === 3.Paiement d'un chèque émis === Il faut tout d'abord créer une fiche pour les chèques émis (poste comptable en Belgique : 441) La banque paie un chèque que vous avez émis \\ \\ | Débit | Crédit | | Poste comptable des effets à payer | \\ | | \\ | Poste comptable de la fiche de banque | \\ === 4.Paiement d'un chèque reçu === Il faut tout d'abord créer une fiche pour les chèques reçu.(poste comptable en Belgique 401) La banque reçoit le paiement d'un chèque que vous avez déposé \\ \\ | Débit | Crédit | | Poste comptable de la fiche de banque | \\ | | \\ | Poste comptable des effets à recevoir | \\ === 5.Virement entre deux comptes en banque de votre société === \\ Pour utiliser les virements internes, vous devez d'abord créer une fiche de virement interne, avec le poste comptable qui convient, en France et en Belgique ce poste comptable est le 580. \\ Dans le première journal financier \\ | Débit | Crédit | | Poste comptable de la fiche virement interne | \\ | | \\ | Poste comptable de la fiche banque 1 | \\ Dans le second journal financier, du compte receveur \\ | Débit | Crédit | | Poste comptable de la fiche banque 2 | \\ | | \\ | Poste comptable de la fiche virement interne | \\ \\ Pour les cartes de crédits de la sociétés et les chèques, il est préférable d'utiliser un journal financier dont la fiche pour le compte en banque est la fiche de la carte visa, la fiche des chèque reçu ou la fiche des chèque émis ===== 4.Les rapports ===== ==== 1.Introduction ==== Les rapports servent à créer une vue de votre situation comptable. Par exemple, le total des ventes, le total encore à payer, la différence entre les entrées et les charges... Il n'y a pas vraiment de limite. Pour aller plus loin, vous devez utiliser l'extension « rapports avancés » qui permettent de générer n'importe quelle déclaration, cette extension est utilisé à partir de 2013 pour les déclarations de TVA belges et françaises. \\ ==== 2.Création ==== Les rapports permettent d'utiliser des formules (mod,round,*,-) sur des soldes de comptes. Vous pouvez en afficher un dans l'accueil en le paramétrant dans vos préférences. \\ Très peu, voire aucun rapport, n'est fourni par défaut, vous devez les ajouter vous-même. Pour cela, soit vous regardez dans le répertoire « contrib/rapport » soit vous allez sur le site de PhpCompta. === 1.Syntaxe === Quelques règles : \\ == 1.Dans la colonne formules == \\ * les postes sont toujours écrits entre crochets; \\ exemple : [ 4511] * pour avoir la somme du poste et des sous-postes, il faut utiliser le %;\\ exemple [45%] * si vous souhaitez commencer à une autre période pour certains comptes sans tenir compte de la période donnée, vous devez utiliser l'option FROM=MM.YYYY (voir exemple). Ce genre d'option est très utile pour par exemple les déclarations de TVA. * Si vous souhaitez n'avoir que le crédit ou le débit, utilisez le D ou le C avant la fermeture du crochet. * Pour avoir un montant négatif si le crédit est supérieur au débit, il faut avoir S avant la fermeture du crochet exemple : [7%S] , [55001S]Drapeau (en minuscule) : * s= Signed : négatif si C > D * d = Uniquement Débit * c = uniquement Crédit * Aucun : valeur absolue de la différence entre D&C \\ Cas particulier : FROM=00.0000 pour indiquer le début de l'exercice comptable dans lequel vous êtes (voir préférence). Utile si vous avez avez plusieurs exercices comptables dans le même dossier. Exemples de formule: \\ Résultat d'exploitation brute round([7%]-[6%]) Impôt estimé (sans compter les amortissements) ([7%]-[6%])/0.35 Total des comptes en banque [550%] Total TVA récolté depuis janvier 2005 : [4511]FROM=01.2005 Perte ou profit ([7%]-[6%]>0)?"Bénéfice":"Perte" \\ \\ == 2.Dans la colonne texte == Il s'agit du label devant la formule, normalement ce label n'est pas interprété sauf si il contient soit une valeur numérique entre crochet avec ou sans la lettre T exemple [4511] Sera remplacé par le libellé du poste comptable [4511T] Sera remplacé par le libellé du poste comptable en majuscule [4511t] Sera remplacé par le libellé du poste comptable en minuscule \\ ==== 3.Utilisation ==== Les rapports peuvent soit servir dans le menu d'accueil, soit pour impression. Dans l'accueil, vous avez les résultats pour l'exercice courant, dans le cas où votre dossier contient plusieurs exercices comptables, l'exercice utilisé sera celui de la période choisie dans préférence. Pour avoir des statistiques mensuelles, dans le menu impression → rapport, vous devez choisir « par étape », si vous choisissez « mensuelle », vous aurez le résultat par mois. Afin de pouvoir faire un graphique de vos statistiques, vous exporter en CSV puis vous l'intégrer dans votre tableur. \\ \\ ===== 5.Gestion de stock ===== \\ PhpCompta contient un système gestion de stock, c'est-à-dire qu'il permet de suivre un stock grâce aux actions de vente et d'achat, et de diminuer ou d'augmenter manuellement le stock; on peut gérer les commandes à travers l'interface des « Actions-Suivi » et si on décide de suivre le stock en cours de commande, on peut créér un dépôt « Commande en cours » que l'on augmentera en commandant chez un fournisseur et qu'on diminuera à la réception. \\ Pour toutes les marchandises dont vous voulez gérer le stock, il faut ajouter l'attribut « gestion de stock », vous devez y mettre un code, et exactement le même code dans sa contrepartie. Les mêmes marchandises ont toujours deux fiches : l'une pour la vente et l'autre pour l'achat, la seule façon de lier ces fiches est de leur donner le même code de stock, ce code de stock correspond à une fiche « Stock » \\ Bien faire attention à ce code, il doit être le même pour les fiches achats et ventes de la même marchandise, si vous utilisez ce code stock pour deux marchandises différentes, vous ne serez plus en mesure de faire la différence entre ces 2 marchandises dans le stock. \\ Il doit être bien clair qu'il y a deux fiches pour cette marchandise, l'une à la vente et l'autre à l'achat. Il y a deux raisons à cet état de choses : * La première, est que les postes comptables des marchandises à vendre et à acheter ne sont pas les mêmes. * La seconde est qu'ainsi vous pouvez faire correspondre plusieurs fiches avec le même code de gestion de stock, par exemple, au lieu d'avoir un stock par boisson, vous pouvez décider d'avoir le même code de stock pour toutes les boissons. Petite illustration: imaginons que quelqu'un qui vend du coca, du fanta et du sprite souhaite uniquement connaître le total des différentes boissons. Et donc s'il vend du coca ou du fanta, son stock diminue; dans ce cas, il ne sera pas capable de savoir combien il a exactement de canettes de chaque sorte, il ne connaîtra que le total des canettes. \\ A partir de la version 5.1, il est possible d'avoir une fiche avec deux postes comptables, faites attention en cas de reprise de marchandises \\ Les achats et les ventes vont automatiquement mettre le stock à jour si on fait ces opérations dans les journaux achats et ventes uniquement. \\ Petite astuce : il est possible de donner un code STOCK à n'importe quelle fiche, par exemple pour les heures à facturer, les déplacements... Ainsi vous pouvez savoir à tout moment combien d'heures ou de déplacements vous avez facturés, ou la quantité de papier, cartouches d'encre,... qui ont été achetées.. \\ ==== 1.Mise en place ==== Dans COMPANY, activer l'option « Utilisation des stocks ». \\ Ajouter des fiches de marchandises (en achat et vente) et adapter votre journal d'achat et de vente pour qu'ils tiennent compte de ces nouvelles fiches. \\ Ajouter l'attribut "Gestion de stock" pour ces fiches dans CARD \\ créer dans la catégories STOCK, les fiches qui seront les éléments du stocks, leurs quick-codes seront le code « Gestion de Stock » des fiches utilisés pour la vente ou l'achat. \\ \\ \\ ==== 2.Premier cas: une marchandise achetée=une marchandise vendue ==== \\ Ceci est le cas le plus simple, admettons que vous vendiez la marchandise A et que quand vous la vendez, votre stock diminue. \\ Dans le menu Fiche, dans les marchandises à vendre ajoutez un nom de gestion de stock ou un barre-code. Exemple MARCHA. Faites la même chose pour la marchandise à vendre. \\ Maintenant, après avoir adapté le journal de vente et d'achat pour que ces fiches soient utilisées (avancé->journaux), vous constaterez que quand vous vendez votre stock diminue et qu'à l'achat, il augmente, ce qui est logique. \\ Le menu Stock vous montre l'état de votre stock. Si certaines marchandises ont été volées, détruites ou retournées, vous pouvez manuellement modifier le stock; en cliquant sur MARCHA, vous voyez le détail du stock, vous avez une ligne pour modifier le stock, si vous entrez un nombre négatif, le stock va diminuer du nombre d'unités indiqué, avec un nombre positif, il augmentera. Si vous êtes un cafetier et que quand vous achetez une bouteille de soda, vous le vendez par verre; si vous souhaitez suivre les stocks des vente, vous pourriez dire qu'une bouteille à l'achat vaut 5 unités, et à la vente une seule. \\ ==== 3.Second cas: uniquement à l'achat ==== \\ Dans ce cas-ci, vous ne voulez suivre que le nombre d'unités achetées, par exemple, si vous êtes un cafetier et que quand vous achetez une bouteille de soda, vous le vendez par verre; et vous ne souhaitez pas faire le suivi de chaque verre vendu. Les unités de stocks n'acceptent que 4 décimales maximum. \\ Il suffit simplement de mettre un code sur la marchandise à l'achat et c'est tout. Dans ce cas-ci, il vous suffit de regarder la quantité achetée, et celle qu'il vous reste réellement, cela vous donne par simple soustraction, la quantité vendue. \\ Il vous suffit maintenant de changer manuellement. \\ ==== 4.Plusieurs fiches pour un même stock ==== \\ Imaginons que pour une certaine marchandise (MARCHA), vous ayez créé une fiche quand vous l'achetez à un fournisseur et une autre fiche quand vous l'achetez à un autre fournisseur. Par exemple parce que les prix sont différents ou pour n'importe quelle autre raison qu'il vous plaira. \\ Dans ce cas, il suffit d'utiliser le même code de gestion pour toutes ces fiches, automatiquement elles seront rassemblées dans la gestion de stock. ==== 5.Inventaire ==== N'oubliez pas qu'en fin d'année, on fait l'inventaire et on compare le stock du début de l'année avec celui de la fin d'année, et cela donne lieu à une écriture comptable de variation de stock, normalement dans le journal des opérations diverses. Dans STOCK_INV,modifier manuellement le stock. Exemple : En fin d'année, Monsieur Durant fait son inventaire et compte 50 bobines de fils, 500 Boîtes de papier,... Dans STOCK_STATE, l'état des stock, il voit que d'après les ventes et les achats, il aurait du avoir 50 Bobines et 489 Boîtes, il y a une différence de 11 boîtes. C'est uniquement la différence qu'il encodera dans la modification de stock. Dans STOCK_INV, il choisira la fiche de Stock Boite, mettra comme quantité -11 et dans le libellé, expliquera d'où provient la différence (vols, destruction,...) Ensuite il entrera une écriture comptable pour constater la diminution du stock, ce sera dans ce cas-ci une charge. FIXME \\ ==== 6.Transfert de stock entre dépôt ==== L'étape qu'il faudra de toute façon faire, est de diminuer un dépôt et en augmenter un autre. La sécurité peut limiter l'accès aux stocks. On peut aussi se servir d'Action-Gestion pour créer des documents de transferts de stocks, qui contiendraient les éléments de stocks transfèrés, et mettre en place ainsi un bordereau pour accompagner la marchandise, puis en générer un autre pour la réception. \\ Exemple : Monsieur Durand a 2 entrepôts assez éloignés l'un de l'autre, le Principal et l'Annexe, il demande à son magasinier Pierre de transfèrer un certain nombre de marchandises vers l'autre dépôt, l'Annexe. Pierre créera donc dans «Action - Gestion » une nouvelle action dépôt de stocks dans laquelle il détaillera les éléments à transfèrer, puis il va générer le document qui doit accompagner la marchandise. Ensuite, il va faire dans STOCK_INV, encoder une diminution de son stock «Le Principal » \\ Paul, qui est magasinier dans le dépôt l'Annexe, va recevoir cette marchandise et comparera si ce qui a été envoyé est bien ce qui est décrit sur le bordereau, il créera donc une nouvelle action réception, et indiquera le document de Pierre comme « action concernée », Paul va dans STOCK_INV encoder une augmentation du stock pour les marchandises transférées dans son dépôt l'Annexe. ===== 6.Recherche & historique ===== Ce menu permet de rechercher par date (entre 2 dates), montant ( entre 2 montants), poste comptable, fiche (quickcode ), code interne, une partie du nom, numéro de pièce ou la description. \\ La sécurité s'applique dans les recherches, il n'est pas possible de voir les opérations des journaux auxquels vous n'avez pas accès. ===== 7.Rapprochement - réconciliation ===== Vous pouvez lier des opérations entre elles, en général ce seront des paiements qui correspondent à des factures. Ce n'est pas obligatoire, c'est là uniquement pour vous permettre de mieux voir ce qui concerne quoi. \\ Les rapprochements ne se font pas forcément dans le même journal, par exemple un paiement sera dans le journal financier mais sera lié à une opération de vente (journal de recette) ou d'achat (journal d'achat). \\ Le point important est que dans la petite fenêtre montrant les détails, vous pouvez spécifier si la facture est ou non payée, cela vous permettra de savoir en temps réel, ce qui est déjà payé et ce qui ne l'est pas, cette possibilité n'existe que pour les journaux de type vente et achat. \\ Dans le cas où vous essayez de rapprocher une opération avec elle-même, il ne se passera rien. \\ ===== 8.Le Lettrage ===== En plus du rapprochement qui vous permet de faire correspondre plusieurs opérations ensemble, vous disposez aussi du lettrage. Le lettrage lui, agit à un niveau plus bas en faisant correspondre, une ligne d'opération comptable à une autre mais uniquement entre poste comptable identique. Typiquement, il s'agit d'un débit qui correspond à un crédit. \\ Autrement dit le lettrage est un moyen de créer une correspondance entre plusieurs opérations de débit et de crédit pour le même poste comptable ou pour la même fiche. Par exemple, le client A achète du matériel, son compte est débité, le jour où il paie son compte est crédité. \\ Pour le suivi, on peut créer un lien entre le débit et le crédit, c'est le lettrage. \\ Normalement on ne fait le lettrage que des clients et des fournisseurs, certains le font aussi pour le compte de la TVA pour mieux voir ce qui est compris dans le montant de la déclaration. \\ Attention dans le cas où vous supprimez ou modifiez une opération, le lettrage sera lui aussi effacé ===== 9.Impression ===== \\ Ce menu permet de demander des impressions. Depuis la version 5.1, les impressions génèrent des PDF supportant l'Unicode. Toutes les impressions sont exportables en CSV et PDF. L'utilisateur ne vont que les opérations effectuées dans des journaux pour lesquels il a un droit de lecture. Les balances pourraient être incorrectes si une opération est faite dans un journal auquel il n'a pas accès ==== 1.Journaux ==== Impression de journaux : les périodes que vous voyez sont celles de l'exercice de votre période par défaut (voir préférence). Vous pouvez soit les avoir comme un listing soit de manière détaillée c'est-à-dire en partie double. \\ Options : \\ ·Style d'impression, soit simple donc sur une seule ligne soit en partie double \\ L'impression en HTML obtenue, on peut soit l'imprimer, soit l'avoir en PDF soit en CSV. Avec le CSV, vous pouvez l'importer dans un tableur et faire une autre présentation. \\ Seuls les journaux de vente et d'achat peuvent être imprimés sur une seule ligne, il est important de bien encoder vos pièces justificatives parce que l'ordre se fait par date puis par numéro de pièce. \\ Il vaut mieux d'ailleurs utiliser le mode strict (paramètres → société) afin de vous empêcher d'encoder à une date ultérieure à la dernière opération. ==== 2.Poste ==== Impression des postes comptables par période. Il est possible de rechercher sur base soit du quickcode soit du poste comptable. \\ L'export en PDF et CSV est prévu. Cela fonctionne exactement comme les journaux. ==== 3.Les Rapports ==== Impression des rapports, les rapports se configurent dans avancés → rapport. Dans l'impression vous pouvez choisir de les imprimer par période comptable ou par dates calendrier. Si vous choisissez d'utiliser les période comptable vous pourrez alors utiliser aussi les étapes. Les étapes donnent un résultat par mois, si vous utilisez cette fonctionnalité, il vous suffit alors de l'exporter en CSV pour l'intégrer dans un tableur et produire un graphique. Les rapports peuvent aussi être exportés en PDF. \\ \\ ==== 4.Balance des comptes ==== Après avoir choisi la période, vous recevrez tous les postes comptables, la somme des débit et crédit de chacun. Cette balance est très pratique pour rapidement vérifier les comptes clients, dépenses. C'est un outil de vérification très utile. \\ Il permet aussi de faire une balance par journal (achat,vente, financier...), par catégories et en spécifiant une période et même une plage de postes. ==== 5.Bilan ==== Actuellement, seul le bilan belge est disponible, pour en avoir un autre, il suffit de créer 2 fichiers. L'un sera en RTF et contiendra la présentation ainsi que les valeurs à calculer et l'autre en format texte contiendra les formules qui remplaceront les balises dans le document RTF. \\ Pour comprendre comment cela fonctionne, il suffit d'aller dans html/document/fr_be et d'ouvrir les 2 fichiers qui s'y trouvent. \\ Le bilan et la balance des comptes, sont les deux outils qui vous permettront de faire votre bilan de fin d'année. \\ ==== 6.Rapprochement ==== Vous pouvez imprimer toutes les opérations rapprochées, normalement toute vente et tout achat est lié à une opération financières. Si ce n'est pas le cas, la cause peut être * Perte de la facture d'achat * Non paiement de la facture de vente * Paiement sans document d'achat (avance TVA,...) * Prélèvement par le gérant \\ \\ ===== 10.Avancé ===== \\ ==== 1.Écritures définies ==== Après avoir encodé une opération, vous pouvez la sauver en tant que modèle afin de la réutiliser par la suite pour pouvoir encoder plus rapidement, ce menu-ci vous permet d'effacer les modèles d'opérations dont vous n'avez plus besoin. Pour introduire un modèle opération, il suffit d'utiliser le journal dans lequel elle devra exister, de donner comme numéro de Pièce Justificative PREDEF puis de la sauver et confirmer, ensuite il suffit d'effacer cette opération. ==== 2.Plan Comptable ==== Le plan comptable que vous utilisez, vous pouvez toujours ajouter des postes ou enlever ceux qui n'ont jamais été utilisés. \\ Vous pouvez aussi les renommer. ==== 3.Rapport ==== Création des rapport ==== 4.Écriture d'ouverture ==== En début d'année, il faut rouvrir les comptes, mais uniquement les passifs et les actifs. \\ Quand votre bilan est fini, vous devez donc encoder dans la nouvelle année tous les soldes, normalement vous utilisez la balance des comptes pour cela. Pour aller plus vite, vous utilisez ce menu, vous pouvez spécifier que l'année précédente se trouve dans un autre dossier. \\ La réouverture des comptes se fait sur le nouvel exercice et normalement en janvier, pas sur l'exercice que vous venez de clôturer. ===== 11.Le module de gestion ===== Le module de gestion permet : * le suivi des clients, fournisseurs, des administrations (taxes, formalités...)... * la génération de documents tel que facture, note de crédit, bordereau de livraison, bons de commande... * Les prévisions \\ ==== 1.Menu : clients ==== \\ En sélectionnant cette option, vous allez directement voir la liste des clients que vous avez, avec le solde de chacun. En cliquant sur le premier élément de la colonne, vous accéderez aux détails de ce client, c'est à dire : les détails de la fiche, le suivi, les contacts, la liste des opérations comptables avec ce client \\ Dans une compagnie ou dans une administration, vous pouvez avoir plusieurs personnes de contact, dans ce cas vous utiliserez les fiches contacts. Elles n'ont pas de poste comptable normalement, mais vous pourriez en ajouter via le menu fiche. \\ Avant d'ajouter une fiche contact, il faut surtout ajouter une catégorie Contact. Donc aller dans CFGCARD, ajoutez une catégorie de type contact, ajoutez les attributs nécessaires. \\ Ajout de client en cliquant sur le bouton « ajout Fiche», ajout d'une catégorie via le bouton « ajout catégorie » \\ On peut ajouter un acte de suivi client ici, ou dans le Suivi Courrier ==== 2.Menu Fournisseur ==== Comme menu client. ==== 3.Administrateurs ==== Suivi des administrateurs, gérant et personnel ==== 4.contact ==== Simple liste de contact ==== 5.Administration ==== \\ Administration des Finances ou une autre, vous avez besoin de suivre le courrier que vous entretenez. Que ce soit pour charger les documents que vous envoyez ou que vous recevez, il vaut toujours mieux garder une trace de toutes vos communications avec ces services. \\ ==== 6.Banque ==== Suivi des banques, prêts... ==== 7.Prévisions ==== Les prévisions vous permettent de comparer vos revenus et charges réelles avec vos estimations. Les prévisions ont une date de début et de fin, vous pouvez donc faire des prévisions sur une partie d'un exercice ou sur plusieurs. === 1.Ajoutez une prévision === Vous devez tout d'abord créer une prévision en cliquant sur « Ajout prévision », à ce moment, vous pourrez donner vos catégories, les catégories sont en fait un regroupement de poste comptables ou de fiches. Donnez un nom, sauver, vous pouvez maintenant enregistrer vos éléments. Soit vous donnez une formule basée sur des postes comptables (voir les rapports), soit une fiche, vous ne devez pas les indiquer tous les deux. \\ La colonne suivante, Mensuel ou une période, vous permet soit d'indiquer un montant pour une période spécifique soit un montant mensuel. Normalement, chaque élément reçoit un montant mensuel (même s'il est égal à zéro) et peut pour certains mois avoir un montant par période. Exemple [60%] Mensuel 500 € [60%] Période :05/2010 800 € \\ On obtiendra pour cette ligne-là, 500 € chaque mois sauf pour le mois de mai où vous aurez prévu 800 € \\ Vous devez ensuite indiquer le libellé, qui est le nom de l'élément; puis indiquer Débit ou Crédit, pour indiquer si le compte doit avoir un solde débiteur ou créditeur. Les charges ont un solde débiteur Les produits ont un solde créditeur Les comptes en banque ont un solde débiteur quand ils sont en positif Les clients ont un solde débiteur Les fournisseurs ont un solde créditeur \\ Ensuite, sauver, quand vous choisirez une prévision, vous verrez vos estimations, pour modifier, il y a en bas, 2 boutons, l'un pour modifier les catégories et l'autre pour modifier les éléments ==== 8.Action Gestion ==== [ GESTION/FOLLOW ] **->Gestion->Liste Suivi** Ce menu permet : * de garder une trace de toutes les communications reçues ou envoyées, * de générer des bons de commande * de faire le suivi fournisseur, client, administration... * de faire les documents de transferts pour les stocks * de conserver vos déclarations ou vos documents internes (documentation, notes...) * assurer le suivi d'une action, rendez-vous, lettre de rappel, courrier, * d'affecter des tâches à un autre groupe Il permet la génération de documents comme les lettres de rappel, les courriers,... Il est aussi possible d'affecter des tâches à d'autres profils. Les documents que l'on peut générer ne sont pas limités, il suffit de créer un nouveau modèle de documents et de fournir un fichier modèle (voir CFGDOC) === Rechercher une action === Vous pouvez faire une recherche soit : * sur le quickcode de la fiche, cela sera celui du destinataire , * sur une partie du titre soit sur la référence, * par date (entre 2 dates), * par date de rappel, * par profil, * par état (inclus ou exclus) * par le type de document * par la référence * uniquement document interne Les références sont créées automatiquement, c'est le style du document puis un numéro de séquence. Ces numéros de séquence peuvent être changés dans CFGDOC. Les documents internes sont les documents dont la case destinataire est vide, ils ne sont adressés à personnes === Lier des actions === Afin de lier deux actions, il faut rechercher la première, voir le détail puis cliquez sur "Ajout action". Les deux documents seront alors liés. Vous pouvez suivant la même logique ajouter un lien vers une opération comptable. Vous pouvez ici aussi générer un document ou ajouter une pièce justificative en plus de la note interne. Cette note n'est jamais reprise dans le document. La sécurité vous permet de préciser à quel profils vous avez accès === Exemple : === M. Durand a 2 magasiniers, il créé un profil pour chacun en copiant simplement le profil utilisateur et en effaçant les actions dont ils n'ont pas besoin. * Il y a donc 4 profils : administrateur, utilisateur, magasinier 1 et magasinier 2. * Chaque magasinier a accès au profil « Public » en lecture seul plus son profil en écriture lecture. Dès lors quand M Durand créé un document publique, les 2 magasiniers le voient. S'il créé un document « magasinier 1 » avec une date de rappel, le magasinier 1 le verra directement dans le « tableau de bord » et les actions seront sur fond rouge dans « Action Gestion », le magasinier 2 cependant ne verra pas ce document. ===== 12.Le module de comptabilité analytique ===== \\ ==== 1.Introduction ==== \\ La comptabilité analytique, pour faire "simple", c'est une analyse détaillée de la comptabilité générale. La comptabilité analytique va se baser sur le compte de résultats et répartir tous les montants d'une autre manière que la comptabilité générale. Avec la comptabilité générale, il est impossible de vérifier ce que coûte un projet, un client ou un produit. La comptabilité analytique va permettre de créer des plans comptables analytiques en rapport direct avec votre propre fonctionnement. \\ Seule la comptabilité générale est le document officiel pour les Contributions et la TVA. La comptabilité analytique est une aide à la gestion, ce qui permet de l'adapter scrupuleusement à son fonctionnement et ses attentes. Ce qui veut dire qu'une comptabilité analytique pourra être totalement différente pour un même entreprise en fonction d'un dirigeant ou un autre et de leurs objectifs et priorités respectifs alors que la comptabilité générale restera la même dans les deux cas. \\ Exemple simple : vous avez un client, Monsieur Bidulle, qui vous demande un devis pour changer toutes les fenêtres de sa maison. Vous lui remettez un devis en tenant compte du prix des fenêtres, du travail de main d'œuvre et en plus votre marge bénéficiaire. Vous achetez les fenêtres au prix convenu que vous imputez dans le compte «marchandises» de votre comptabilité. Dans ce compte se trouvent aussi toutes les autres marchandises que vous achetez. Vous envoyez un devis par la Poste que vous imputez dans le compte «Poste» de votre comptabilité. Dans ce compte se trouvent aussi tous les autres envois postaux. \\ La comptabilité analytique va permettre d'imputer l'achat des fenêtres et de l'envoi postal dans le compte «Bidulle» du plan analytique «clients». \\ Je peux ainsi connaître exactement le prix de revient dudit client. \\ Nous pouvons aller plus loin dans notre travail de gestion. La comptabilité analytique permet de réaliser des opérations diverses qui ne sont pas reprises dans la comptabilité générale. \\ Vous pouvez encoder dans la comptabilité analytique les heures de travail pour ce client au prix de revient salarial. Quand le travail est terminé, vous pouvez en sortir les résultats. Est ce que vous êtes en bénéfice pour le travail chez monsieur Bidulle ? La comptabilité analytique va prendre le prix de la facture et y soustraire les fenêtres, le ou les envois postaux, les heures de travail sur le chantier, les heures de travail dans les bureau... et y donner le résultat. En fonction du résultat vous pourrez ajuster les prix la prochaine fois. ==== 2.Explication de la comptabilité analytique ==== Voici un exemple plus complet de la comptabilité analytique. Imaginons la situation suivante, vous avez deux magasins et vous souhaitez connaître la rentabilité de chacun. Dès lors, vous avez besoin de connaître ce que chaque magasin dépense et rapporte. Dans ce cas, vous avez besoin de deux axes ou plans analytique, le premier sera le magasin, le second, le détail des dépenses. Donc création des plans analytiques * Magasin * Dépense /recette Dans le plan analytique (ou axe) magasin, vous ajoutez les postes analytiques (ou centre) * Magasin Avenue Linus Torvald * Magasin Rue du Pingouin Dans le plan analytique Dépense / Recette, vous ajoutez * Vente marchandise * Frais loyer * Frais électricité * Frais personnel * Frais chauffage * Frais marchandise Vous activez la comptabilité analytique, quand vous achetez des marchandises vous répartissez le montant des marchandises entre les 2 magasins Exemple : Achat de 100 pantalons à 15 €, 20 pour le magasin 1 et 80 pour le magasin 2 Lors de la confirmation de l'achat, vous devez avoir | Magasin | Dépense / Recette | Montant | | Magasin av. L. Torvald | Frais marchandise | 300 | | Magasin rue du Pingouin | Frais marchandise | 1200 | \\ \\ \\ \\ Lors de vente, vous répartissez aussi entre les magasins. Le pantalon est revendu à 20 € | Magasin | Dépense/Recette | Montant | | Magasin av. L. Torvald | Vente marchandise | 300 | | Magasin rue du Pingouin | Vente marchandise | 1000 | \\ \\ Pour exploitez, les résultats, vous allez dans impressions Dans la balance simple, vous aurez | Magasin av. L. Torvald | 300 | 200 | 0 | | Magasin rue du Pingouin | 1200 | 1000 | 200 | Les dépenses sont au débit (première colonne), on voit que le Magasin rue du pingouin a une « perte » de 200€. Ce n'est pas vraiment une perte puisqu'en fait, toute la marchandise n'est pas vendue. Si on veut le détail, par magasin par poste de dépense, on utilisera la balance croisée et on obtiendra | Poste comptable Analytique | Poste comptable Analytique | Débit | Crédit | Solde | D/C | | AV.L.TORVALD |||||| | \\ | VENTE | 0 | 300 | 300 | credit | | \\ | ACHAT Achat Marchandise | 300 | 0 | 300 | debit | | \\ | Total | 300 | 300 | 0 | credit | | RUEDELALOUTRE |||||| | \\ | VENTE | 0 | 1.000,00 | 1.000,00 | credit | | \\ | ACHAT Achat Marchandise | 1.200,00 | 0 | 1.200,00 | debit | | \\ | Total | 1.200,00 | 1.000,00 | 200 | debit | \\ \\ ==== 3.Les groupes ==== Dans la comptabilité analytique, vous pouvez regrouper des centres de coûts (activité) et améliorer l'analyse. Par exemple, en regroupant, les charges fixes, imprévues ou variables, vous voyez mieux quelles sont les charges qui reviennent invariablement chaque mois, comme un loyer, un abonnement... ==== 4.Activation de la comptabilité analytique ==== \\ Vous devez aller dans le menu «Sociétés» du module « paramètre » de votre comptabilité. Tout en bas de la page, au niveau de « Utilisation de la compta analytique » un petit menu déroulant indique par défaut : «non utilisé ». Vous pouvez modifier le menu en « obligatoire » et tous les montants de la compta générale imputés dans la compta d'exploitation (charges «6» et produits «7») seront obligatoirement imputés dans tous les plans analytiques. Dans le cas d' « optionnel », tous les montants de la compta générale imputés dans la compta d'exploitation (charges «6» et produits «7») seront, à votre appréciation, imputés dans tous les plans analytiques. Ensuite vous enregistrez les modifications. \\ Sur le wiki, wiki.phpcompta.eu il y a d'autres exemples d'utilisation de la comptabilité analytique. ==== 5.Plan analytique ==== === 1.Ajout d'un plan === Cliquez sur «Ajout un plan comptable» et remplissez le «nom» et la «description» puis enregistrez. Si vous mettez plusieurs plans, sachez qu'ils vont se mettre dans l'ordre alphanumérique de la première lettre du «nom». \\ === 2.Ajout de postes === Vous n'êtes pas limité dans les postes pour un même plan comptable. Cliquez sur le bouton «ajout» pour créer un nouveau poste et remplissez les champs proposés. Le champs « montant » n'est pas encore fonctionnel pour l'instant. \\ ==== 6.Opérations diverses ==== \\ Ce menu vous permet d'encoder des opérations entre différents comptes analytiques. \\ ==== 7.Impression ==== === 1.Listing === Vous pouvez avoir le listing des opérations qui ont été imputées dans un plan analytique précis entre deux dates et/ou entre deux postes. Vous pouvez visualiser les résultats sur la page et ensuite, si désiré, importer les éléments en format CSV. === 2.Balance simple === Entre deux dates et/ou entre deux postes, vous pouvez obtenir les montants des débits, crédits et soldes de tous les postes d'un plan analytique. Vous pouvez les exporter en PDF ou CSV. === 3.Balance croisée === Permet de sortir une balance croisée entre deux plans analytiques. Choisissez les deux dates entre lesquelles la balance doit être faite, le plan analytique primaire et le secondaire (avec un choix entre les postes possibles) et lancez la balance par le bouton «afficher».Vous pouvez les exporter en PDF ou CSV. === 4.Tableau === Permet d'avoir le résultat de votre comptabilité analytique sous forme de tableau \\ \\ Exemple: | Fiche | ACHAT | F.ELECT | VENTE | Total | | FID20 Déplacement | 0 | 0 | 50 | 50 | | FID14 Electricité | -2.210,00 | 152 | 0 | -2.058,00 | | FID15 Loyer | -255 | 0 | 0 | -255 | | FID19 Marchandise A | 0 | 0 | 1.300,00 | 1.300,00 | | FID17 Matériel bureau | -1.500,00 | 0 | 0 | -1.500,00 | | Totaux | -3.965,00 | 152 | 1.350,00 | -2.463,00 | \\ ==== 8.Liaison avec la comptabilité générale ==== === Introduction === Petit rappel, la comptabilité analytique ne fonctionne qu'avec les comptes de résultats, c'est à dire les comptes de charges «6» et les comptes de produits «7». === 1.Journal de ventes, d'achats et d'opérations diverses === Après l'encodage de votre facture de vente ou d'achat, vous enregistrez pour vérifier si tous les montants correspondent. Vous trouvez à droite de chaque ligne d'article un menu déroulant par plan comptable. Vous choisissez dans le menu de chaque plan, les postes qui correspondent à l'imputation. Ensuite vous devez indiquer le montant. \\ Chaque montant de la comptabilité générale peut être imputé dans des postes analytiques différents. Pour ce faire, vous avez un bouton en-dessous du montant qui vous permet d'ajouter une ligne d'imputation. Dans ce cas, vous pouvez, avant l'enregistrement définitif, contrôler si les montants de la comptabilité analytique correspondent aux montants de la comptabilité générale. ==== ==== \\ \\ \\ **Chapitre 5** ====== Développement de PhpCompta ====== \\ \\ ===== 1.Adaptation de PhpCompta ===== Vous pouvez modifier librement ce programme, et surtout envoyer vos corrections. Toute la documentation nécessaire se trouve dans doc/developper. Le design des bases de données ainsi que le code sont présentés en HTML. \\ La documentation des bases de données est faite avec postgresql_autodoc et celle du code avec Doxygen. Le manuel avec OpenOffice.org(voir la FAQ pour contribuer). \\ Si vous souhaitez envoyez un patch, regarder dans la FAQ "Comment contribuer". ==== 1.Bilan adapté ==== \\ Chaque dossier possède une table nommée "Bilan" qui a 5 champs \\ ·b_id : juste un identifiant numérique unique \\ ·b_name : le nom que vous verrez apparaître dans "Impression->Bilan" \\ ·b_file_template : le fichier contenant la mise en page \\ ·b_file_form: le fichier contenant les formules \\ ·b_type: le type de document, aussi les valeurs acceptées sont TXT, HTML, ODS et RTF \\ Pour ajouter un bilan que vous avez remanié, vous n'aurez qu'à ajouter un enregistrement dans cette table qui utilisera vos fichiers. \\ === 1.Formules dans le bilan === Le solde d'un compte est noté entre crochet, on peut utiliser le S pour avoir un nombre négatif si le Débit est < au Crédit, rien pour avoir un nombre absolu... (voir 4Les rapports pour une explication sur la syntaxe). Exemple Dans le fichier Form # Les postes*(-1) $C10=round([10%S],2)*(-1) $C100=round([100%S],2)*(-1) $C101=round([101%S],2) $C11=round([11%S],2)*(-1) \\ \\ Les lignes commençant par # sont des commentaires, Dans le fichier template, le tag <<$C11> sera remplacé par le résultat de la formule $C11, la période est toujours donnée lors de la demande du document. On peut employer n'importe quelle lettre sauf la lettre N, qui elle donne le libellé du poste comptable. Attention les tags <<$N..>> (les points sont remplacés par un nombre) sont remplacés par le libellé du poste comptable Sauf si on utilise une variable appelé $N.. \\ \\ ===== 2.Développement de PhpCompta ===== Au début, les développeurs développent la totalité d'un produit et regroupent de fonction dans des librairies puis en adoptant une méthode de développement afin d'avoir un code homogène; ensuite pour éviter cette étape et gagner du temps, ils mettent en place leur propre framework (= cadre de travail). \\ Connaissant PHP depuis 1998, c'est un langage que je pense maîtriser, j'ai développé dans chaque version de PHP depuis la 1.0. Ayant commencé avant l'arrivée des premiers frameworks, j'ai mis au point une méthode de travail, qui en définitive est devenu un framework maison. Pour le javascript, j'ai utilisé prototype.js, malgré que ce framework est excellent, je l'emploie plus comme une librairie de fonctions. ==== 1.Développement en MVC ==== Le développement en MVC est un développement qui suit les concepts Modèle Vue Contrôle. Il en existe 2 versions. Ici, je ne parlerai que de la première. En pratique, je crée 3 répertoires de base /html et /include et /include/template, le premier contient les « contrôles » le second les «vues» et le troisième les « modèles ». === 1.Contrôle === Un contrôle est une page php, qui en fonction de l'action demandé va inclure la page «modèle» qu'il faut. Dans phpcompta, cette page est : do.php pour toutes les demandes de pages export.php pour toutes les impressions (PDF, CSV, …) ajax_misc.php pour l'ajax[[#sdfootnote2sym|2]] Exemple la page contrôle contient \\ <?php if ( !isset ($_REQUEST['do'])) exit(); $do=$_REQUEST['do']; if ( $do == 'auteur' ) { require_once('include/auteur.inc.php'); } ?> \\ L'explication est assez simple, si la page n'est pas appelé avec une variable do, donné par un POST ou GET alors, le traitement s'arrête. Sinon en fonction de la valeur de la variable, il va inclure le fichier « vue ». Par habitude, mes fichiers vues ont toujours l'extension .inc.php. \\ Dans PhpCompta, le fichier do.php va chercher la vue à intégrer dans la base de données, ce qui améliore la sécurité mais aussi une grande souplesse pour les menus. Facile d'en ajouter, d'en retirer, de les renommer... \\ === 2.Vue === Grâce à l'exemple vu dans Contrôle, vous avez compris ce qu'est le concept vue: c'est la présentation de votre action. Donc pour continuer l'exemple, dans le document include/auteur.inc.php, on aurait <?php require_once ('include/class_auteur.php'); if ( ! isset($_REQUEST['sdo']) ) exit(); \\ \\ $sdo=$_REQUEST['sdo']; \\ \\ if ( $sdo == 'add' ) { $auteur=**new** Auteur(); $auteur->display_form(); } ?> Ici, comme dans contrôle, on vérifie qu'une action est bien demandée, si c'est la cas, on appelle un objet et on lui demande d'afficher quelque chose. Cet objet est ce qui est dans le concept MVC, un modèle. En fait, on dirait une espèce de sous-contrôle === 3.Modèle === Eh oui, le dernier est donc le modèle. Ici ce sont deux classes, l'une va se charger de sauver, afficher, effacer les données et gère donc les relations avec la base de données et l'autre l'objet métier. Maintenant que vous avez compris MVC, je vais développer un peu les modèles. Cette partie est un peu plus complexe. Tout d'abord, personnellement, je la divise en deux parties, la première doit gérer les données de la base de données et l'autre les traiter. Comment y arriver ? \\ Il est vraiment mais vraiment fastidieux de construire une chaîne de caractère contenant tout le code html, surtout quand on emploie aussi du javascript et des tableaux. La solution que j'ai trouvé, je l'ai trouvé en m'inspirant de l'idée de smarty. En fait, je crée un sous-répertoire dans include que j'appelle template, et dedans je met le code HTML de ce qui doit être affiché **Function** display_form() { ob_start(); include 'template/auteur_display_form.php"; $r=ob_get_contents(); $ob_clean(); return $r; \\ \\ } exemple Ici on inclus le fichier, comme il est en php, il sera interprété par PHP, il contient surtout du code HTML et des balises PHP, on peut aussi manipuler la chaîne retournée avec les fonctions de chaînes comme str_replace, strcmp,... Ce qui donne à cette méthode encore plus de souplesse. Il est important de respecter la règle suivante: un minimum d'HTML dans le php et un minimum de PHP dans l'HTML. Il faudra alors utiliser beaucoup de variables avant d'utiliser les templates, il faudra aussi résister à la tentation de mettre de l'html dans la variable, ce qui n'est pas toujours possible. ==== 2.La documentation ==== \\ /** *@file\\ *@brief the todo list is managed by this class\\ */\\ \\ \\ /** * @brief \\ * This class manages the table todo_list\\ * Data Member : \\ * - $cn database connx\\ * - $variable\\ * - id (todo_list.tl_id)\\ * - date (todo_list.tl_Date)\\ * - title (todo_list.title)\\ * - desc (todo_list.tl_desc)\\ * - owner (todo_list.use_id) [[mailto:*@see|*@see]] autre fonction \\ * \\ */ J'utilise Doxygen afin de générer le code ce sont les TAGS brief, param... Cela me permet de générer une documentation; cette documentation me permet de développer plus vite et de mieux vérifier la qualité du code. ==== 3.PhpCompta ==== PhpCompta utilise le MVC, toutes les actions sont controlées par do.php pour les pages web, export.php pour tous les exports (PDF, ODT ou CSV). Ce sont les contrôleurs. === 1.Fichiers importants === Les fichiers à inclure sont dans la table menu_ref, cette table est accèdée à travers la table profile_menu qui décrit l'interface de l'utilisateur, ce qui automatiquement empêche un utilisateur d'accèder à un menu auquel il n'a pas accès. Le répertoire include contient les fichiers à inclure, les noms de fichiers suivent la logique suivant : * Action ajax, le nom de fichier commence par ajax, * fichier à inclure le nom de fichier termine par inc.php, * fichier objet correspondant à une table NOM_TABLE dans la base de données:class_NOM_TABLE_sql.php, * fichier d'object le nom commençent par class Dans le répertoire template, vous avez les modèles, ce sont des fichiers contenant surtout du code HTML. En résumé : Les contrôleurs sont do.php, export.php Les modèles sont dans include/template et les vues sont dans le répertore include === 2.La partie base de données === == 1.Méthode non recommandée == On avait commencé ainsi, on générait le fichier php à une table grâce à un script (dans phpcompta/dev/manage-code/create-file/create-phpclass.py) Les colonnes de la table sont dans un tableau et déclaré comme variable privée. Ce point est important. Cela oblige à utiliser les setters/getters. Cela vous permet aussi de faire correspondre des noms parlants à des noms de colonnes parfois hmm... moins parlants. Cependant, je préfère souvent utiliser les commandes SQL plutôt que de passer par les objets. D'abord pour des raisons de performance, d'utilisation de la mémoire... La théorie qui veut que l'application doit être indépendante de la base de données n'est pas un mauvais principe mais dans la vie réelle, il est rare que l 'on change le programme de base de données pour un autre. **class** Todo_List\\ {\\ \\ **private** static $variable=array(\\ "id"=>"tl_id",\\ "date"=>"tl_date",\\ "title"=>"tl_title",\\ "desc"=>"tl_desc",\\ "owner"=>"use_login");\\ **private** $cn;\\ **private** $tl_id,$tl_date,$tl_title,$use_login;\\ \\ **function** __construct ($p_init) {\\ $this->cn=$p_init;\\ $this->tl_id=0;\\ $this->tl_desc="";\\ $this->use_login=$_SESSION['g_user'];\\ \\ } \\ \\ \\ \\ Ici voici, des setters / getters génériques, ce qui permet de ne pas en avoir un par variable. Ce qui est bien pratique. On accède aux données avec set_parameter ('date','01.01.2009') ou avec get_parameter ('date'); \\ **public** **function** get_parameter($p_string) {\\ if ( array_key_exists($p_string,**self**::$variable) ) {\\ $idx=**self**::$variable[$p_string];\\ return $this->$idx;\\ }\\ else\\ exit (**__FILE__**.":".**__LINE__**.'Erreur attribut inexistant');\\ } **public** **function** set_parameter($p_string,$p_value) {\\ if ( array_key_exists($p_string,**self**::$variable) ) {\\ $idx=**self**::$variable[$p_string];\\ if ($this->check($idx,$p_value) == **true** ) $this->$idx=$p_value;\\ }\\ else\\ exit (**__FILE__**.":".**__LINE__**.'Erreur attribut inexistant');\\ \\ } Ceci est la fonction qui contrôle que les données sont valides. Cela pourrait aussi être fait dans la base de données, soit avec des contrôles d'intégrités (foreign key, primary key) soit avec des procédures SQL embarquées de contrôle. \\ **public** **function** check($p_idx,&$p_value) {\\ if ( strcmp ($p_idx, 'tl_id') == 0 ) { if ( strlen($p_value) > 6 || isNumber ($p_value) == **false**) return **false**;}\\ if ( strcmp ($p_idx, 'tl_date') == 0 ) { if ( strlen(trim($p_value)) ==0 ||strlen($p_value) > 12 || isDate ($p_value) == **false**) return **false**;}\\ if ( strcmp ($p_idx, 'tl_title') == 0 ) {\\ $p_value=substr($p_value,0,120) ;\\ return **true**;\\ }\\ if ( strcmp ($p_idx, 'tl_desc') == 0 ) { $p_value=substr($p_value,0,400) ; return **true**;}\\ return **true**;\\ } Enfin la fonction save, qui permet soit d'ajouter soit de même à jour. Évidemment on utilisera des requêtes SQL Prepare, afin d'éviter les problèmes de guillemets et donc d'injection SQL. \\ **public** **function** save() {\\ if ( $this->get_parameter("id") == 0 )\\ $this->insert();\\ else\\ $this->update();\\ }\\ \\ **public** **function** insert() {\\ if ( $this->verify() != 0 ) return;\\ \\ $sql="insert into todo_list (tl_date,tl_title,tl_desc,use_login) ".\\ " values (to_date($1,'DD.MM.YYYY'),$2,$3,$4) returning tl_id";\\ $res=ExecSqlParam($this->cn,\\ $sql,\\ array($this->tl_date,\\ $this->tl_title,\\ $this->tl_desc,\\ $this->use_login)\\ );\\ $this->tl_id=pg_fetch_result($res,0,0);\\ \\ } **public** **function** update() {\\ if ( $this->verify() != 0 ) return;\\ \\ $sql="update todo_list set tl_title=$1,tl_date=to_date($2,'DD.MM.YYYY'),tl_desc=$3 ".\\ " where tl_id = $4";\\ $res=ExecSqlParam($this->cn,\\ $sql,\\ array($this->tl_title,\\ $this->tl_date,\\ $this->tl_desc,\\ $this->tl_id)\\ );\\ \\ } Comme cette partie est vraiment répétitive et change peu, j'ai mis au point un script (dev/manage-code/create-file/create_phpclass.py) pour directement générer le code sur base de la définition d'une table. Cela réduit vraiment le temps de travail. \\ static **function** test_me() {\\ $cn=DbConnect(dossier::id());\\ $r=**new** Todo_List($cn);\\ $r->set_parameter('title','test');\\ $r->use_login='phpcompta';\\ $r->set_parameter('date','02.03.2008');\\ $r->save();\\ $r->set_parameter('id',3);\\ $r->load();\\ print_r($r);\\ $r->set_parameter('title','Test UPDATE');\\ $r->save();\\ print_r($r);\\ $r->set_parameter('id',1);\\ $r->delete();\\ }\\ **public** **function** get_info() { return var_export(**self**::$variable,**true**); } \\ \\ Et finalement, les fonctions info et test_me qui sont très utiles lors des phases de déboggages. Je crée une simple page html/test.php et j'appelle la classe; dans la fonction test_me je mets tout ce que je souhaite tester. \\ == 2.Nouvelle méthode == \\ Nous avons créér une classe Phpcompta_Sql qui va nous permettre de faire la même chose en très peu de ligne de code. \\ Cette classe fournit les fonctions suivantes * insert pour insérer une ligne dans la base de données * delete pour insérer une ligne dans la base de données * update pour mettre à jour une ligne dans la base de données * verify à surcharger, vérifie que les données sont conformes * setp setter * getp getter * get_info affiche le contenu de l'objet * from_array transforme un tableau en un objet * seek recherche dans la table sur base d'une condition * next retourne l'objet suivant (après seek) \\ Voici tout le code à taper par table, exemple pour la table stock_change **class** Stock_Change_Sql **extends** PhpCompta_Sql\\ {\\ //// Le contructeur obligatoire\\ //**function**// __construct//($p_id// //=// //-1)//\\ //{ //// Façon dont les dates sont utilisées\\ //$this->//date_format//="DD.MM.YYYY"; //// Nom de la table \\ //$this->//table //=// //"public.stock_change"; //// nom de la clef primaire\\ //$this->//primary_key //=// //"c_id";//\\ //\\ \\ //// Structure de la table, à gauche le nom logique utilisable\\ // avec les getters/setters (setp/getp) et à droite le nom de la\\ // colonne\\ //$this->//name //=// //array(//\\ //"id"// //=>// //"c_id",//\\ //"c_comment"// //=>// //"c_comment",//\\ //"c_date"// //=>// //"c_date",//\\ //"tech_date"=>"tech_date",//\\ //"tech_user"=>"tech_user",//\\ //"r_id"=>"r_id"//\\ //);//\\ // Type de données\\ //$this->//type //=// //array(//\\ //"c_id"// //=>// //"numeric",//\\ //"c_comment"// //=>// //"text",//\\ //"c_date"// //=>// //"date",//\\ //"tech_date"=>"date",//\\ //"tech_user"=>"text",//\\ //"r_id"=>"numeric"//\\ //);//\\ // Les colonnes qui ne peuvent pas être changée ni par insert ni par \\ // //// update parce leurs valeurs sont données automatiquement \\ // //// exemple : la clef primaire qui est un numéro de séquence \\ // ////automatiquement donné\\ //$this->//default //=// //array(//\\ //"c_id"// //=>// //"auto",//\\ //"tech_date"// //=>// //" auto"//\\ //// //);//\\ //// //global// //$cn;//\\ \\ parent//:://__construct//($cn,// //$p_id);//\\ //}//\\ //} Si on change la structure d'une table, il ne faut presque rien changer : seulement quelques lignes. ==== 4.Conclusion ==== Voilà si vous m'avez suivi jusqu'ici et que vous adoptez ma méthode de travail vous verrez vite, que finalement les frameworks, on peut vivre sans et faire un projet facile à maintenir et à faire évoluer sans perte de performance, ni soucis de mise à jour du framework (fonction obsolète, bug...) \\ ==== 5.API fournie ==== //Introduction Ceci complète la documentation Doxygen générée et résume les fonctions les plus utilisées// \\ === 1.Class HtmlInput === cette classe permet la génération de chaînes de caractères contenant du code HTML, les classes filles sont des objets html classique: ISelect : pour la création de liste de valeurs (<input type= »select ») IText : pour la création d'entrée de texte (<input type= »TEXT » ) ... Mais aussi des objets propres à PhpCompta, IPoste : renvoie le code html pour avoir un bouton qui ouvrira une fenêtre popup où un poste comptable pourra être choisit ITva : popup de sélection d'un taux de TVA ICard : popup de sélection d'une fiche \\ ===== 3.Les extensions ===== \\ PhpCompta permet dorénavant d'avoir des extensions. Nous allons dans ce HOWTO développer une petite extension à titre d'exemple. En anglais une extension est appelée plugin\\ \\ Remarque : Quand on vous renvoie à la lecture d'un fichier, il est préférable de le faire dans la documentation générée \\ ==== 1.L'API ==== \\ Toute la documentation se trouve sur www.phpcompta.eu/doc; seules les classes nous intéressent. La documentation est générée à partir du code avec Doxygen. Le but de cet article n'est pas de revisiter la documentation technique mais de la mettre en œuvre afin d'écrire une extension ou plugin.\\ \\ ==== 2.Installation de l'extension ==== \\ Les extensions se trouvent toujours le sous-répertoire PhpCompta/include/ext, pour notre plugin que nous appellerons DUMMY, le répertoire correspondant sera /PhpCompta/include/ext/dummy. La première étape est donc de signaler à PhpCompta l'existence de cette extension. Pour cela, il faut ,dans PhpCompta, dans le « direct access »\\ \\ ==== 3.Explication des champs\\ \\ ==== * Label, est le nom de menu de votre extension * Code est utilisé pour inclure le fichier du plugin, il correspond au champs caché EXT * Fichier est le chemin vers l'extension (sans le répertoire phpcompta/include/ext)\\ \\ Pour notre extension, les valeurs suivantes sont données * Label : Mon dummy à moi * code : dum * Fichier : dummy/dummy.php\\ \\ Vous sauvez, cliquer sur Extension et vous verrez apparaître un nouveau plugin appelé "Mon dummy à moi"; si vous cliquez dessus, la page ext/dummy/dummy.php sera exécutée. ==== 4.Développement du plugin ==== === 1. Connexion à la base de données === Certaines valeurs doivent toujours être passées à chaque page, par exemple gDossier qui est l'identifiant du dossier ou ac qui l'action demandée. Pour se connecter c'est assez facile, il faut utiliser la classe Database et la classe Dossier. Donc on écrit dans dummy.php \\ echo "L' identifiant de mon dossier est ".dossier::id()."<br>";\\ echo "Son nom réel est ".DOMAIN."dossier".dossier::id()."<br>";\\ echo "Son nom est ".dossier::name()."<br>";\\ \\ \\ //// Je me connecte à présent à ce dossier// $cn_db=**new** Database(dossier::id()); \\ Je veux afficher toutes les fiches qui concernent le matériel à amortir, donc j'ai besoin de savoir ce que vaut son FICHE_DEF_REF:FRD_ID dans constant.php; la FICHE_TYPE_XX n'existe pas, je vois dans fiche_def_ref qu'il s'agit de "7 Matériel à amortir"\\ \\ Pour avoir toutes les fiches, \\ $fiche= **new** Fiche($cn_db);\\ $aFicheMateriel=$fiche->getByDef(7);\\ \\ \\ Pour chaque fiche, je veux afficher son nom, son prix, le nombre d'années à amortir et la date d'achat. Je peux en trouver les valeurs dans attr_def ou constant.php, \\ \\ Donc cela devient for ($i=0; $i < count($aFicheMateriel);$i++) {\\ \\ echo "<ul>\\ echo "<li> ";\\ echo "Nom";\\ echo $aFicheMateriel[$i]->strAttribut(ATTR_DEF_NAME);\\ echo "</li>";\\ \\ echo "<li> ";\\ echo "Prix d'achat";\\ echo $aFicheMateriel[$i]->strAttribut(ATTR_DEF_PRIX_ACHAT);\\ echo "</li>";\\ \\ echo "<li> ";\\ echo "Durée amortissement";\\ echo $aFicheMateriel[$i]->strAttribut(8);\\ echo "</li>";\\ \\ echo "<li> ";\\ echo "Date de début";\\ echo $aFicheMateriel[$i]->strAttribut(10);\\ echo "</li>";\\ \\ echo "</ul>\\ } \\ === 2. FORM === Uniquement pour l'exercice, nous allons ajouter un FORM.\\ Les données nécessaires dans le FORM sont toujours au minimum: l'id du dossier, le code du plugin.\\ \\ Dans le FORM, on demandera juste à afficher le solde de chaque élément.\\ On aura alors le code suivant, on utilisera la technique des templates \\ $year=**new** IText('year');\\ $str_year=$year->input();\\ $str_submit=HtmlInput::submit('year_left','Appliquer');\\ require_once('template1.php'); \\ template1.php <FORM METHOD="GET" ACTION="extension.php">\\ <?=dossier::hidden()?>\\ <?=HtmlInput::extension()?> <?=HtmlInput::request_to_hidden(array('ac',plugin_code'),$_REQUEST)?>\\ Solde pour l'année : <?=$str_year?>\\ <?=$str_submit?>\\ </form>\\ \\ \\ Puis dans le début du fichier ext/dummy/dummy.php, on ajoutera un test pour savoir un FORM a été soumis et on affichera\\ une boîte de dialogue.\\ \\ if (isset($_GET['year_left'])){\\ alert('Vous avez demandé le nombre d**\'**années restantes');\\ }\\ \\ \\ === 3.Plugin plus avancé === Ma première extension, intégrer un fichier de client dans une catégorie de fiche, ce fichier est en CSV. Le code est simple et compréhensible, normalement on devrait avoir une meilleure gestion des erreurs, vérifier les attaques SQL Inject,...Ce code n'est là QUE pour expliquer le concept. On n'a pas utilisé plusieurs pages, ni de templates \\ Tout d'abord, il faut se connecter à la base de données \\ //// se connecter au dossier courant\\ //$cn=**new**// Database//(//dossier//::id()); \\ \\ Dans extension.php on vérifie la sécurité, en ajoutez une dans l'extension n'est en général pas nécessaire mais vous pourriez avoir votre propre système de sécurité si votre extension est fort complexe En premier lieu, il est nécessaire de choisir dans quel catégorie de fiche je veux intégrer les \\ enregistrements. Donc on utilise un petit form \\ echo '<form METHOD="get" action="extension.php">';\\ echo dossier::hidden();\\ //// Ceci vous permet de revenir ici (voir extension.php). Cet élément caché permet d'include cette page-ci\\ // Donc si votre plugin contient plusieurs pages, vous allez devoir ajouter une seconde variable pour\\ // inclure la page que vous voulez (voir méthode de développement de PhpCompta )\\ //echo// HtmlInput//::extension();//\\ ////\\ //echo// //"Choix de la catégorie de fiche";//\\ //$select_cat=**new**// ISelect//('fd_id');//\\ //$select_cat->//value//=$cn->//make_array//('select fd_id,fd_label from fiche_def where frd_id='.//\\ FICHE_TYPE_CLIENT//);//\\ //echo// //$select_cat->//input//();//\\ //echo// HtmlInput//::submit('display_prop','Afficher les propriétés');//\\ \\ //echo '</FORM>'; Il faut remarquer 2 choses dans ce FORM, primo, on utilise les objets HtmlInput et ISelect, secundo on doit avoir absolument en variables cachées, le n° de dossier sur lequel on est connecté, le code de l'extension, qui permettra à extension.php d'include le bon fichier. On utilise ici le protocole GET puisqu'on interroge, le protocole est réservé aux sauvegardes, c'est une convention assez répandue. La différence, est que les requêtes GET se voient dans l'URL, les requêtes POST ne sont jamais dans l'url.\\ \\ \\ L'utilisateur soumet le FORM, donc la feuille se recharge et on arrive à cette partie du code\\ \\ On choisit d'afficher les propriétés avant de confirmer l'import \\ if ( isset($_GET['display_prop'])){\\ $a=**new** Fiche($cn);\\ $prop=$a->toArray($_GET['fd_id']);\\ foreach ($prop as $key=>$value) echo "Index : $key valeur $value <br/>";\\ \\ echo '<form method="POST" action="extension.php" enctype="multipart/form-data">';\\ echo dossier::hidden();\\ echo HtmlInput::extension();\\ echo HtmlInput::hidden('fd_id',$_GET['fd_id']);\\ $file=**new** IFile('fichier_csv');\\ echo $file->input();\\ echo HtmlInput::submit('start_import','Démarrez importation');\\ echo '</form>';\\ exit;\\ } Voilà, si l'utilisateur clique sur le bouton SUBMIT, l'importation va démarrer. Dans notre exemple, on imaginera que le fichier CSV n'a que 4 champs "nom client","prenom client", "numero client","adresse client"\\ \\ Le code qui suit est très simplifié, il n'y a peu voire aucun contrôle ni de gestion d'erreur. \\ if ( isset($_POST['start_import'])){\\ $fd_id=$_POST['fd_id'];\\ $tmp_file=$_FILE['fichier_csv']['tmp_name'];\\ if ( ! is_uploaded_file($tmp_file))\\ die 'Je ne peux charger ce fichier';\\ //// on ouvre le fichier \\ //$f=fopen($tmp_file,'r');//\\ //// // On récupère les propriétés de cette catégorie de fiche\\ //// //$client=**new**// Fiche//($cn);//\\ // $array contient toutes les valeurs nécessaires à Fiche::insert,\\ //$array=$client->//toArray//($_POST['fd_id']);//\\ \\ //while// //(// //$data=fgetcsv($f))// //{//\\ // remarque : on a éliminé les traitements d'erreur\\ \\ // On remet tous les attributs (propriétés) à vide\\ //foreach(array_keys($array)// //as// //$key)// //$array[$key]="";//\\ \\ // Nom et prénom\\ //$array['av_text1']=$data[0].' '.$data[1];//\\ // Numéro de client\\ //$array['av_text30']=$data[2];//\\ // Adresse\\ //$array['av_text14']=$data[3];//\\ // Quickcode\\ //$array['av_text23']="CLI".$data[2];//\\ //// //$client->//insert//($fd_id,$array);//\\ //}//\\ //exit;//\\ // }//\\ //\\ \\ Voici le fichier client.txt "Nom client1","Prénom","C1","Rue de la boite,55"\\ "Nom client2","Prénom","C2","Rue du couvercle,55"\\ "Nom client3","Prénom","C3","Rue de la chaussure,55"\\ "Nom client4","Prénom","C4","Rue de la couleur,55"\\ \\ \\ Les attributs sont dans AV_TEXTxx où le xx est remplacé par le nombre correspondant à l'attribut 1 → Nom 2 → Taux TVA 3 →Numéro de compte 4→Nom de la banque 5→Poste Comptable 6→Prix vente 7→Prix achat 8→Durée Amortissement 9→Description 10→Date début 11→Montant initial 12→Personne de contact 13→numéro de TVA 14→Adresse 15→code postal 16→pays 17→téléphone 18→email 19→Gestion stock 20→Partie fiscalement non déductible 21→TVA non déductible 22→TVA non déductible récupérable par l'impôt 23→Quick Code 24→Ville 25→Société 26→Fax 27→GSM 30→Numéro de client 31→Dépense à charge du gérant (partie privée) 32→ Prénom \\ Si vous vérifiez dans VW_CLIENT, vous verrez que toutes vos fiches ont été ajoutées. Dans l'exemple, il faudrait rajouter un traitement d'erreur plus élaboré; le fait que si une fiche échoue , l'opération est annulée (Database::rollback) ou alors création d'un fichier avec les enregistrements "ratés"... \\ === 4.Remarque pour le javascript === Pour l'ajax, les fonctions javascripts devront appeler PhpCompta/html/ajax.php, ce fichier inclura automatiquement le fichier ajax dans le répertoire du plugin, il faut donner en paramètre les variables : gDossier, PHPSESSID et plugin_code (ou code AD), afin que le bon fichier soit inclus. Depuis ce fichier, vous devrez donc tout gérer. Les fonctions javascripts elles, ne peuvent être inclues par fichier c'est à dire avec le tag SRC, il faudra les inclure avec require_once entourés par les balises <script> et </script>. \\ Exemple Ouverture d'un popup \\ **function** show_stock_document(phpsessid,d_id,gDossier){ **var** a=window.open('ajax.php?gDossier='+gDossier+'&plugin_code=STOCK&act=sh&d_id='+d_id+'&PHPSESSID='+phpsessid); } Fichier javascript depuis une extension echo '<script language="javascript">'; require_once('stock_script.js'); echo '</script>'; ===== 4.Lien ===== \\ Vous trouverez de la documentation sur les API à utiliser dans votre répertoire : PhpCompta/doc/html/developper mais surtout sur le site : [[http://www.phpcompta.eu/|http://www.phpcompta.eu]]/doc (section documentation) \\ ====== Annexe ====== ===== 1.Trucs et astuces ===== ==== Ouvrir plusieurs fenêtres ==== \\ Vous pouvez toujours ouvrir plusieurs fenêtres. C'est très utile, par exemple dans le cas où vous encodez une OD mais un poste comptable manque, vous pouvez l'ajouter dans une autre fenêtre puis reprendre la fenêtre où vous travailliez, le poste comptable est maintenant disponible. \\ ==== Utiliser le code STOCK pour vos prestations ==== il est possible de donner un code STOCK à n'importe quelle fiche, par exemple pour les heures à facturer, les déplacements... Ainsi vous pouvez savoir à tout moment combien d'heures ou de déplacements vous avez facturés, ou la quantité de papier, cartouches d'encre,... qui ont été achetées.. ==== Utiliser le wiki ==== Le wiki complète cette documentation, n'hésitez pas à l'utilisez ou à l'améliorer ===== 2.Accès Direct ===== | ACH | Nouvel achat ou dépense | | ANCHOP | Historique des imputations analytiques | | ANCGL | Grand livre d'plan analytique | | ANCBS | Balance simple des imputations analytiques | | ANCBC2 | Balance double croisées des imputations analytiques | | ANCTAB | Tableau lié à la comptabilité | | ANCBCC | Lien entre comptabilité et Comptabilité analytique | | ANCGR | Balance par groupe | | SEARCH | Recherche | | DIVPARM | Paramètres divers | | CFGTVA | Config. de la tva | | CARD | Fiche | | STOCK | Stock | | MOD | Menu | | CFGPRO | Configuration profil | | CFGPAY | Config. des méthodes de paiement | | CFGACC | Config. poste comptable de base | | VEN | Nouvelle vente ou recette | | CFGMENU | Configuration des menus et plugins | | COMPANY | Parametre societe | | PERIODE | Gestion des périodes | | SUPPL | Suivi fournisseur | | LET | Lettrage | | ANCODS | OD analytique | | VERIFBIL | Vérification de la comptabilité | | REPORT | Création de rapport | | OPEN | Ecriture d'ouverture | | ACHISTO | Historique achat | | FOLLOW | Suivi, courrier, devis | | FORECAST | Prévision | | EXT | Extensions (plugins) | | CFGDOC | Config. modèle de document | | CFGLED | Configuration des journaux | | PREDOP | Gestion des opérations prédéfinifies | | ADV | Menu avancé | | ANC | Module comptabilité analytique | | CFGSEC | configuration de la sécurité | | PLANANC | Plan analytique | | ANCGROUP | Groupe analytique | | ODHISTO | Historique opérations diverses | | VENMENU | Menu ventes et recettes | | PREFERENCE | Préférence | | HIST | Historique | | MENUFIN | Menu Financier | | FIHISTO | Historique financier | | MENUACH | Menu achat | | MENUODS | Menu opérations diverses | | ODS | Nouvelle opérations diverses | | FREC | Rapprochement bancaire | | ADM | Suivi administration, banque | | FIN | Nouvel extrait bancaire | | CFGATCARD | Gestion des modèles de fiches | | FSALDO | Solde des comptes en banques, caisse... | | JSSEARCH | Recherche | | LETACC | lettrage par poste comptable | | CARDBAL | Balance par catégorie de fiche | | CUST | Suivi client | | CFGCARDCAT | Gestion catégorie de fiche | | CFGCATDOC | Config. catégorie de documents | | VEHISTO | Historique des ventes | | LETCARD | Lettrage par fiche | | CFGPCMN | Config. du plan comptable | | LOGOUT | Sortie | | DASHBOARD | Tableau de bord | | COMPTA | Module comptabilité | | GESTION | Module gestion | | PARAM | Module paramètre | | PRINTJRN | Impression historique | | PRINTREC | Impression des rapprochements | | PRINTPOSTE | Impression du détail d'un poste comptable | | PRINTREPORT | Impression de rapport | | PRINTBILAN | Impression de bilan | | PRINTGL | Impression du grand livre | | PRINTBAL | Impression des balances comptables | | PRINTCARD | Impression catégorie de fiches | | PRINT | Menu impression | | ACCESS | Accueil | | ANCIMP | Impression compta. analytique | \\ \\ ===== 3.Note de version ===== ==== 1.Note de version 6.7 Novembre 2013 ==== Nouveautés : - Possibilité d'ajouter des tags aux actions. Pour mieux classer les documents et le suivi - Navigateur pour retrouver plus facilement le menu à utiliser - Favoris pour conserver les menus les plus utilisés - Date de paiement ajoutée aux opérations d'achat ou de vente, pour se conformer à la nouvelle méthode de calcul de la TVA \\ \\ ==== 2.Note de version 6.6 Juin 2013 ==== Nouveautés : - Fonctionne en mode hébergé avec une seule base de données - Minimum de lignes à afficher par journal - Correction des opérations prédéfinies - Mise en évidence des opérations lettrées. - Filtrage simple de certains tableau (balance, dossier...) - Nouveau logo - Nom des documents générés contient le numéro de pièce justificative. - Ajout d'une description pour les catégories de fiches - Ajout du quickcode dans le plan comptable Améliorations: - Amélioration des longues lignes dans les PDF - Meilleure navigation avec la touche tabulation quand on encode des opérations - Avertissement plus visible en cas où la TVA calculée et celle donnée sont différentes. - Affichage des opérations en retard de paiement ou les actions en retard dans le tableau de bord ==== 3.Note de version 6.5 (Juillet 2012) ==== Nouveautés : - Gestion du multidépôt,, l'historique des mouvements de dépôts, inventaires \\ - Ajout Etat Document, \\ - Nouveaux style d'attribut : Fiche ou sélection, permet de faire correspondre des fiches entres elles, exemple : stock et marchandises, contact et sociétés \\ - Génération de document : nouveau champs disponibles sont * ACOMPTE : acompte déduit lorsqu'on utilise le mode de paiement lors d'un achat et d'une vente. * ATTRx Donne la valeur de l'attribut x de la marchandise ou du service vendu ou acheté * BENEFATTRx Donne la valeur de l'attribut x du mode de paiement * CUSTATTRx Donne la valeur de l'attribut x du client ou du fournisseur \\ Améliorations - Action – Gestion : possibilité de lier plusieurs autres actions et des opérations comptables, possibilité d'ajouter des commentaires, amélioration de la recherche et sécurité \\ - Numéro de pièce pour les actions gestions \\ - encodage des opérations financières par date d'extrait ou d'opérations \\ - Export PDF : retour à la ligne si les commentaires sont trop longs \\ Notes : \\ Réécriture complète du menu Fiche, c'était du vieux code illisible. Ce module a été divisé en 2, l'un pour ajouter, déplacer, modifier des fiches, voir leur liste, résumé, historique... L'autre pour configurer les catégories de fiches. \\ Dans le tableau d'accueil, on voit l'action dont la date de rappel est la date du jour et qui appartient à l'un des profils auxquels vous avez accès ; le tableau d'accueil montre aussi les dernières opérations, elles sont filtrées par l'accès de l'utilisateur aux journaux. \\ ==== 4.Note de version 6.0 (Décembre 2011) ==== Nouveautés: - Menu complètement configurable, de ce fait, les plugins peuvent apparaître dans n'importe quel menu, sous-menu... - Sécurité renforcée, basée sur le profil qui est l'ensemble des menus accessibles à l'utilisateur - Export du Grand Livre Analytique en CSV - Les différents configuration de menus sont rassemblé dans des profils, le nombre de profils par dossier est illimité, ils sont configurés dans CFGPRO. - Accès direct vous permet d'aller directement à l'endroit que vous souhaitez en donnant le code du menu, pendant la frappe, les menus possibles apparaissent (auto-complete). - Compte alphanumérique, PhpCompta peut utiliser des postes comptables alphanumériques, si le poste comptable est calculé automatiquement alors par défaut PhpCompta créera un poste comptable en ajoutant le nom de la fiche à la classe de base. - Compte de TVA qui augmente au débit et au crédit, pour certains cas particuliers. - Nouveau thème dont la police est plus grande - Dans catégorie fiche, il est possible d'avoir les balances ou l'historique de toutes les fiches - Possibilité d'éditer les détails dans les journaux achats et ventes, à changer dans COMPANY Améliorations: - Comptabilité analytique: lors de l'imputation, la valeur qui reste à affecter est directement calculé. - A l'enregistrement de l'opération, il est présenté un résumé de l'opération qui vient d'être enregistrée. - Les réconciliations se font dans une fenêtre interne (avant c'était un popup) - Comptabilité analytique: recherche de fiche dans une fenêtre interne - Tri apparaissent dans certains menu (sécurité → utilisateurs (SECUSER), administration → utilisateur, …) - réconciliation n'utilise plus une fenêtre extérieure (popup) - Possibilité de changer le type d'un document dans le suivi - Résumé de l'opération enregistrée au lieu d'un simple lien vers le détail de l'opération - En cas de rapprochement, même avec plusieurs opérations, il y aura un lettrage automatique. - Amélioration des lettrages multiples (1 à n) - Mode de paiement se font dorénavant par journaux et non plus par type de journaux \\ \\ \\ \\ ==== 5.Note de version 5.6 (mai 2011) ==== Nouveautés - Comptabilité analytique : groupe - Amélioration ergonomie comptabilité analytique - Compta analytique -> financier - Le grand livre analytique - Liaison compta analytique -> compta générale - Balance : uniquement les comptes non soldés pour les fiches et les postes comptables - Voir le tiers dans les historiques \\ \\ Bugs corrigés - Problème de date en comptabilité analytique : synchro - CA : bug dans la balance double - CA Opération diverses - Problème export CSV historique sans le signe moins pour financier - Impossibilité de réinitialiser le mot de passe \\ \\ ==== 6.Note de version 5.5 (1 mars 2011) ==== Nouveautés: - Date dans les détails - Balance avec des niveaux - Lettrage dans le grand livre Bugs: - Export CSV de l'historique pour les financiers - Génération de facture - Moyen de paiement incorrect - On ne voyait que les Xiers dossiers dans l'administration - ... ==== 7.Note de version 5.4 (février 2011) ==== Nouveautés: - Adaptation pour les dossiers contenant plusieurs années - Contrepartie pour les dépenses non admises et les dépenses du gérants configurable par fiche - 2 nouvelles sortes d'attribut : les postes et les cards, le premier pour les postes comptables et le second pour les fiches - Export CSV de tout historique : depuis la recherche, la liste des opérations de tous les journaux. - Modification d'une fiche dans un popup html - Depuis le détail d'une fiche, on peut en avoir la balance - La partie gestion, pour les clients, les fournisseurs et les administrations, il y a en plus, les balances - Prévisions peuvent être faites à cheval sur plusieurs années Amélioration - Amélioration pour les dossiers contenant plusieurs années : balance, bilan, rapport et historique peuvent changer d'année, les détails des opérations permettent de changer d'exercice,... \\ \\ ==== 8.Note de version 5.3 (décembre 2010) ==== Nouveautés: - Possibilité de réouvrir des périodes fermées - Changement de la date de l'opération dans le détail opérations - Ajout de commentaire possible dans le détail des opérations - Ajout d'une limite de dates dans les prévisions - Ajout de couleur dans les prévisions - Ajout de l'export de l'historique d'un compte ou d'une fiche, en csv ou en pdf depuis une fenêtre « pop me up » - Déplacement du menu période dans le menu Paramètre - Audit des personnes se connectant ou essayant de se connecter - Ajout d'un captcha (optionnel) Améliorations: - Traitement des fiches plus rapide - Apparence des montants - Apparence des fiches, détail et historique - Support Postgresql 9 \\ \\ ==== 9.Note de version 5.2 (août 2010) ==== Mise à jour : modifier vos journaux de banque pour utiliser une fiche de banque Les notes de frais doivent utiliser les tags commençant par BENEF_* changements - Ajout balance par catégorie de fiche - Quand on demande le détail d'une opération, on peut l'imprimer et voir tous les détails de cette opération si on clique sur popme up. Les détails pour les opérations analytiques ne sont visible que dans le popup. - En cliquant sur un numéro interne, on a le détail de l'opération mais à l'intérieur de la page et non plus dans un popup - Dans les détails d'opérations, on a aussi des liens vers les historiques par fiche ou par poste comptable, si on clique sur une fiche ou sur un poste comptable - Depuis les impressions → balances et impression → poste, on a les détails des opérations ainsi que dans impression → poste - Pour les balances, on peut choisir les journaux : adapté à ceux en ayant vraiment beaucoup - Depuis les lettrages, on peut aussi accéder aux détails d'une opération - Le menu Grand Livre devient le menu Historique - Il est possible d'ajouter des détails aux catégories de fiche ainsi que leur type c'est-à-dire soit du texte soit des nombres soit une date, soit une zone. La longueur peut-être définie mais limitée à 22 caractères, sauf les dates et les zones dont les tailles sont fixes - Impression - Rapprochement - confirmation quand effacement d'un Plan Analytique (comptabilité analytique -> Plan Analytique) - Déplacement de fiche : les attributs manquant sont ajoutés ! - Dans les balances, on peut choisir plusieurs journaux ou plusieurs cat. de journal. Les données sont filtrées en plus d'après la sécurité - Dans impression -> poste, on peut filtrer les opérations suivant qu'elles sont lettrées ou non. - Après avoir sauvé une opération, vous pouvez avoir le détail de l'opération en cliquant sur le numéro interne qui s'affiche - Les journaux FIN **doivent** être attachés à un compte en banque et uniquement un A propos du mode de paiement : on ne change rien mais il faut que dans la doc, il est précisé qu'il faut paramétrer le moyen de paiement comme le journal FIN - Ajout bouton "ajoutez ligne" pour les OD en CA - Ajout bouton "ajoutez ligne" pour les prévisions - Ajout l'impression pour les lettrages par poste comptables - Les historiques des fiches et postes comptables (impression → poste et impression et catégorie → historique) ont un solde progressif - La recherche peut se faire dans plusieurs journaux à la fois - Les balances peuvent être faites pour plusieurs journaux ou par catégorie de journal - Amélioration de la vérification de la comptabilité (Avancé → Vérification) - La date par défaut quand on encode une nouvelle écriture, est la date de la dernière écriture du journal choisi. - Pour les opérations de banque, on peut choisir de numéroter chaque opération, ou de donner à chacune le même numéro d'extrait (relevé bancaire) - Rapprochement bancaire : dans le cas où on encode directement la méthode de paiement, on peut retrouver les opérations concernées et leur donner comme numéro de pièce le numéro d'extrait de compte (= numéro du relevé bancaire, numéro du relevé visa,numéro du relevé de la caisse) ==== 10.Note de version 5.1 (mai 2010) ==== 1. Plan comptable est maintenant alphanumérique, la numérotation automatique ne fonctionne pas si le poste comptable contient autre chose que des chiffres. Cependant il n'est pas encore permis d'y mettre aucune chose que des chiffres 2. Document : dans la liste des documents, on a dorénavant ceux qui en dépendent indirectement \\ \\ Exemple Document A en relation avec Document B Document C en relation avec Document B Avant dans les documents liés, on ne voyait que le document B dans la liste des documents liés de A Avec la nouvelle version, on voit dans la liste du document A, le document B &C 3. Lettrage La réconciliation ou rapprochement fait correspondre une ou plusieurs opérations comptables Le lettrage lui, agit à un niveau plus bas en faisant correspondre, une ligne d'opération comptable à une autre mais uniquement entre poste comptable identique. Typiquement, il s'agit d'un débit qui correspond à un crédit \\ \\ 4 TVA : Se choisit maintenant dans un popup au lieu d'une liste select \\ \\ 5 Impression : * nouveau menu Catégorie, vous permet de visualiser par catégorie de fiche avec l'historique des opérations ou simplement le résumé. * nouveau (contribution) une nouvelle possibilité est d'imprimer le grand livre * nouveau : support complet de l'Unicode pour les impressions * Les impressions de journaux d'achat et de vente sont classés par numéro de pièces justificatives, sans tenir compte du préfixe. Dès lors la centralisation est considérée comme obsolète et sera supprimée. \\ \\ 6 Écriture directe (re) devient Opérations Diverses \\ \\ 7 Ajout du lettrage dans la plupart des impressions \\ \\ 8 Extension : vérification du chemin \\ \\ 9 Dans paramètre->journaux, amélioration de la présentation de la numérotation des pièces justificatives. 10 Fiche : possibilité de déplacer les fiches dans une autre catégorie, attention les attributs n'existant pas dans la catégorie cible seront supprimés 11 Amélioration de l'esthétique 12. A cause de php 5.3, on n'utilise plus PHPSESSID mais plutôt un cookie \\ \\ 13. Les banques utilisent des n° de PJ, chaque opération sera donc la PJ suivi du n° d'opération exemple PJ = FIN1 opération 1 = FIN1001 opération 2 = FIN1002 opération 3 = FIN1003 il est préférable d'avoir un préfixe différent pour chaque banque, il est plus facile d'utiliser un journal par compte en banque \\ \\ 14. Pour le pense bête, changement cosmétique 15. Opérations Diverses fonctionne comme les autres journaux : soit on spécifie la période soit la période est déduite de la date 16. La calculatrice est dans un bouton 17. Possibilité d'avoir la date de la période ou vide pour les achat, ventes, opérations diverses et banque, à changer dans paramètre->société : suggérer date ==== 11.Note de version 5.0 (janvier 2010) ==== Ajout d'une fonctionnalité d'Auto Completion : dans les champs où sont entrés le quick code d'une fiche, la recherche se fait sur le quick-code et le nom Protection contre les doubles encodages dans les opérations comptables, Ajout d'une recherche avancée :Pour chaque journal, dans "voir opération", il y a dorénavant une recherche avancée. La période ne doit plus être choisie dans les journaux comptable mais peut-être déduite, cela dépend d'un paramètre dans "Paramètre->Société". Le module gestion ne permet plus d'encoder des factures mais est axé vers un meilleur suivi pour les clients, fournisseurs et administration. Chaque action du suivi, peut contenir plusieurs documents générés, la liste des documents générés est plus complète et contient en autre bons de commande (client ou fournisseur) et bordereau de livraison Calendrier pour récapituler le suivi. Création d'un tableau de bord plus complet. Remplacement du module Budget qui n'était pas vraiment utilisable par le module Prévision. Module Plugin (Extension) afin d'ajouter facilement des extensions au système. ==== 12.Note de version 4.3 (février 2009) ==== \\ \\ La nouvelle version de PhpCompta vient de sortir, en plus de la correction de certains bugs, cette version contient une réécriture complète de la partie sécurité, un support pour les non assujetti à la TVA, ainsi que la numérotation automatique des pièces justificatives avec préfixe et évidemment un contrôle pour que le numéro de pièce soit unique. Pour la génération des documents, deux nouveaux tags sont apparus : * pj reprend le n° de pièce justificative * user reprend le nom de la personne qui à généré le document \\ \\ ==== 13.Note de version 4.2 novembre 2008 ==== 1. Le mode strict : dans paramètre -> société, on peut activer le mode strict; dans ce mode-là, il n'est plus possible de créer une opération antérieure à la dernière entrée d'un journal. Ce qui implique que les opérations doivent être encodées dans l'ordre chronologique. De plus, il n'est plus possible d'effacer une opération. 2. La génération de note de frais: quand vous faites une dépense vous pourrez demander à générer une note de frais 3. Pour les factures et les dépenses, il est dorénavant possible d'indiquer directement si l'opération est payée et comment, avant de l'utiliser la première fois, il est impératif d'aller dans paramètre->divers->Moyen de paiement et de paramétrer correctement en complétant les données: journal où le paiement sera sauvegardée, la fiche de paiement par défaut ou la catégorie de fiche à utiliser)S'il n'y a pas de fiche par défaut, il faudra à chaque facture ou dépense indiquer la fiche de la catégorie indiquée. Il existe donc aussi une nouvelle catégorie de fiche : compte Administrateur ou salarié. Ainsi que 2 nouveaux tags pour la génération de document : CUST_BANQUE_NO et CUST_BANQUE_NAME. Il y a quelques exemples PhpCompta/contrib/document_test a \\ \\ \\ \\ [[#sdfootnote1anc|1]]Utilisé par les attributs spéciaux des fiches [[#sdfootnote2anc|2]]Pour l'ajax, il existe plusieurs fichiers, ajax_misc.php est en général utilisé