Table des matières

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.


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 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

  1. Aucune, par défaut
  2. Optionnel, c'est à dire qu'il n'est pas obligatoire de donner les informations pour la comptabilité analytiques
  3. Obligatoire : il est obligatoire d'indiquer le plan analytique et le compte utilisé

2.Mode Strict

Les valeurs possibles sont :

  1. Non, vous pouvez encoder sans suivre l'ordre chronologique et vous pouvez aussi effacer des opérations
  2. 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

  1. Choisissez “global” pour la création
  2. Valider
  3. 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

  1. Modifier d'abord la 12ème période pour en retirer le dernier jour
  2. Cliquer sur “modifier”, en regard de la 12ème période
  3. Changer le dernier jour, du 31 au 30 du mois
  4. Ajouter une période en cliquant sur “Ajout d'une période”
  5. Cette 13ème période commence le 31 et finit le 31(!)
  6. 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

  1. Renseigner le nom de l'exercice (seule une valeur numérique peut être donnée)
  2. Renseigner l'année de l'exercice
  3. Renseigner le nombre de période (mois)
  4. Renseigner le mois du début de l'exercice (chiffres de 1 à 12)
  5. Valider.
  6. 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<sup>1</sup> 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 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






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

Détail du document

Entreprise utilisant le programme, paramètres encodés dans COMPANY

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é

Attribut de la fiche

C'est le nombre x est le numéro d'attribut que l'on peut voir dans CFGATCARD

ACOMPTE

Utilisation de plusieurs stocks

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

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 :


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

Accès Direct : CFGMENU

Les menus sont constitués d'éléments qui peuvent être regroupés en

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.

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 :

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


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.

  1. Aller dans Comptabilité⇒Impression⇒Bilan [ COMPTA/PRINT/PRINTBILAN ]
  2. Sélectionner l'exercice courant , les dates de début et de fin
  3. 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 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 :



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

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 &lt; a un an Prêt &gt; 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 :

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 &amp; 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

  1. Le lettrage par quick_code pourra faire correspondre des postes comptables différentes
  2. L' extension TVA ne tient compte que des journaux achats et ventes
  3. 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 :

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

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 :

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 :

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



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%]&gt;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 :


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é-&gt;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 &amp; 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



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 :



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

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 :

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 :

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.

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

Dans le plan analytique (ou axe) magasin, vous ajoutez les postes analytiques (ou centre)

Dans le plan analytique Dépense / Recette, vous ajoutez

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-&gt;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 &lt; 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 &lt;&lt;$C11&gt; 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 &lt;&lt;$N..&gt;&gt; (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<sup>2</sup>

Exemple

la page contrôle contient


&lt;?php

if ( !isset ($_REQUEST['do'])) exit();

$do=$_REQUEST['do'];

if ( $do == 'auteur' ) {

require_once('include/auteur.inc.php');

}

?&gt;


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

&lt;?php

require_once ('include/class_auteur.php');

if ( ! isset($_REQUEST['sdo']) ) exit();



$sdo=$_REQUEST['sdo'];



if ( $sdo == 'add' ) {

$auteur=new Auteur();

$auteur-&gt;display_form();

}

?&gt;

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)

*@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 :

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”=&gt;”tl_id“,
“date”=&gt;”tl_date“,
“title”=&gt;”tl_title“,
“desc”=&gt;”tl_desc“,
“owner”=&gt;”use_login“);
private $cn;
private $tl_id,$tl_date,$tl_title,$use_login;

function construct ($p_init) {
$this-&gt;cn=$p_init;
$this-&gt;tl_id=0;
$this-&gt;tl_desc=”“;
$this-&gt;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-&gt;$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-&gt;check($idx,$p_value) == true ) $this-&gt;$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,&amp;$p_value) {
if ( strcmp ($p_idx, 'tl_id') == 0 ) { if ( strlen($p_value) &gt; 6 || isNumber ($p_value) == false) return false;}
if ( strcmp ($p_idx, 'tl_date') == 0 ) { if ( strlen(trim($p_value)) ==0 ||strlen($p_value) &gt; 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-&gt;get_parameter(“id”) == 0 )
$this-&gt;insert();
else
$this-&gt;update();
}

public function insert() {
if ( $this-&gt;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-&gt;cn,
$sql,
array($this-&gt;tl_date,
$this-&gt;tl_title,
$this-&gt;tl_desc,
$this-&gt;use_login)
);
$this-&gt;tl_id=pg_fetch_result($res,0,0);

} public function update() {
if ( $this-&gt;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-&gt;cn,
$sql,
array($this-&gt;tl_title,
$this-&gt;tl_date,
$this-&gt;tl_desc,
$this-&gt;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-&gt;set_parameter('title','test');
$r-&gt;use_login='phpcompta';
$r-&gt;set_parameter('date','02.03.2008');
$r-&gt;save();
$r-&gt;set_parameter('id',3);
$r-&gt;load();
print_r($r);
$r-&gt;set_parameter('title','Test UPDATE');
$r-&gt;save();
print_r($r);
$r-&gt;set_parameter('id',1);
$r-&gt;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-&gt;date_format=“DD.MM.YYYY”;

Nom de la table
$this-&gt;table = “public.stock_change”; nom de la clef primaire
$this-&gt;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-&gt;name = array(
“id” =&gt; “c_id”,
“c_comment” =&gt; “c_comment”,
“c_date” =&gt; “c_date”,
“tech_date”=&gt;”tech_date“,
“tech_user”=&gt;”tech_user“,
“r_id”=&gt;”r_id“
);
Type de données
$this-&gt;type = array(
“c_id” =&gt; “numeric”,
“c_comment” =&gt; “text”,
“c_date” =&gt; “date”,
“tech_date”=&gt;”date“,
“tech_user”=&gt;”text“,
“r_id”=&gt;”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-&gt;default = array(
“c_id” =&gt; “auto”,
“tech_date” =&gt; ” 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 (&lt;input type= »select »)

IText : pour la création d'entrée de texte (&lt;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\\ \\

Pour notre extension, les valeurs suivantes sont données

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().”&lt;br&gt;“;
echo “Son nom réel est ”.DOMAIN.”dossier“.dossier::id().”&lt;br&gt;“;
echo “Son nom est ”.dossier::name().”&lt;br&gt;“;


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-&gt;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 &lt; count($aFicheMateriel);$i++) {

echo ”&lt;ul&gt;
echo “&lt;li&gt; ”;
echo “Nom”;
echo $aFicheMateriel[$i]-&gt;strAttribut(ATTR_DEF_NAME);
echo “&lt;/li&gt;”;

echo “&lt;li&gt; ”;
echo “Prix d'achat”;
echo $aFicheMateriel[$i]-&gt;strAttribut(ATTR_DEF_PRIX_ACHAT);
echo “&lt;/li&gt;”;

echo “&lt;li&gt; ”;
echo “Durée amortissement”;
echo $aFicheMateriel[$i]-&gt;strAttribut(8);
echo “&lt;/li&gt;”;

echo “&lt;li&gt; ”;
echo “Date de début”;
echo $aFicheMateriel[$i]-&gt;strAttribut(10);
echo “&lt;/li&gt;”;

echo “&lt;/ul&gt;
}
=== 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-&gt;input();
$str_submit=HtmlInput::submit('year_left','Appliquer');
require_once('template1.php');
template1.php &lt;FORM METHOD=“GET” ACTION=“extension.php”&gt;
&lt;?=dossier::hidden()?&gt;
&lt;?=HtmlInput::extension()?&gt; &lt;?=HtmlInput::request_to_hidden(array('ac',plugin_code'),$_REQUEST)?&gt;
Solde pour l'année : &lt;?=$str_year?&gt;
&lt;?=$str_submit?&gt;
&lt;/form&gt;


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 '&lt;form METHOD=“get” action=“extension.php”&gt;';
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-&gt;value=$cn-&gt;make_array('select fd_id,fd_label from fiche_def where frd_id='.
FICHE_TYPE_CLIENT);
echo $select_cat-&gt;input();
echo HtmlInput::submit('display_prop','Afficher les propriétés');

echo '&lt;/FORM&gt;'; 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-&gt;toArray($_GET['fd_id']);
foreach ($prop as $key=&gt;$value) echo “Index : $key valeur $value &lt;br/&gt;”;

echo '&lt;form method=“POST” action=“extension.php” enctype=“multipart/form-data”&gt;';
echo dossier::hidden();
echo HtmlInput::extension();
echo HtmlInput::hidden('fd_id',$_GET['fd_id']);
$file=new IFile('fichier_csv');
echo $file-&gt;input();
echo HtmlInput::submit('start_import','Démarrez importation');
echo '&lt;/form&gt;';
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-&gt;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-&gt;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 &lt;script&gt; et &lt;/script&gt;.


Exemple

Ouverture d'un popup


function show_stock_document(phpsessid,d_id,gDossier){

var a=window.open('ajax.php?gDossier='+gDossier+'&amp;plugin_code=STOCK&amp;act=sh&amp;d_id='+d_id+'&amp;PHPSESSID='+phpsessid);

}

Fichier javascript depuis une extension

echo '&lt;script language=“javascript”&gt;';

require_once('stock_script.js');

echo '&lt;/script&gt;';

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/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 :

  1. Possibilité d'ajouter des tags aux actions. Pour mieux classer les documents et le suivi
  2. Navigateur pour retrouver plus facilement le menu à utiliser
  3. Favoris pour conserver les menus les plus utilisés
  4. 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 :

  1. Fonctionne en mode hébergé avec une seule base de données
  2. Minimum de lignes à afficher par journal
  3. Correction des opérations prédéfinies
  4. Mise en évidence des opérations lettrées.
  5. Filtrage simple de certains tableau (balance, dossier…)
  6. Nouveau logo
  7. Nom des documents générés contient le numéro de pièce justificative.
  8. Ajout d'une description pour les catégories de fiches
  9. Ajout du quickcode dans le plan comptable Améliorations:
    1. Amélioration des longues lignes dans les PDF
    2. Meilleure navigation avec la touche tabulation quand on encode des opérations
    3. Avertissement plus visible en cas où la TVA calculée et celle donnée sont différentes.
    4. 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 :

  1. Gestion du multidépôt,, l'historique des mouvements de dépôts, inventaires


  1. Ajout Etat Document,


  1. 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


  1. Génération de document : nouveau champs disponibles sont


Améliorations

  1. 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é


  1. Numéro de pièce pour les actions gestions


  1. encodage des opérations financières par date d'extrait ou d'opérations


  1. 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:

  1. Menu complètement configurable, de ce fait, les plugins peuvent apparaître dans n'importe quel menu, sous-menu…
  2. Sécurité renforcée, basée sur le profil qui est l'ensemble des menus accessibles à l'utilisateur
  3. Export du Grand Livre Analytique en CSV
  4. 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.
  5. 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).
  6. 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.
  7. Compte de TVA qui augmente au débit et au crédit, pour certains cas particuliers.
  8. Nouveau thème dont la police est plus grande
  9. Dans catégorie fiche, il est possible d'avoir les balances ou l'historique de toutes les fiches
  10. Possibilité d'éditer les détails dans les journaux achats et ventes, à changer dans COMPANY

Améliorations:

  1. Comptabilité analytique: lors de l'imputation, la valeur qui reste à affecter est directement calculé.
  2. A l'enregistrement de l'opération, il est présenté un résumé de l'opération qui vient d'être enregistrée.
  3. Les réconciliations se font dans une fenêtre interne (avant c'était un popup)
  4. Comptabilité analytique: recherche de fiche dans une fenêtre interne
  5. Tri apparaissent dans certains menu (sécurité → utilisateurs (SECUSER), administration → utilisateur, …)
  6. réconciliation n'utilise plus une fenêtre extérieure (popup)
  7. Possibilité de changer le type d'un document dans le suivi
  8. Résumé de l'opération enregistrée au lieu d'un simple lien vers le détail de l'opération
  9. En cas de rapprochement, même avec plusieurs opérations, il y aura un lettrage automatique.
  10. Amélioration des lettrages multiples (1 à n)
  11. 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

  1. Comptabilité analytique : groupe
  2. Amélioration ergonomie comptabilité analytique
  3. Compta analytique -&gt; financier
  4. Le grand livre analytique
  5. Liaison compta analytique -&gt; compta générale
  6. Balance : uniquement les comptes non soldés pour les fiches et les postes comptables
  7. Voir le tiers dans les historiques



Bugs corrigés

  1. Problème de date en comptabilité analytique : synchro
  2. CA : bug dans la balance double
  3. CA Opération diverses
  4. Problème export CSV historique sans le signe moins pour financier
  5. Impossibilité de réinitialiser le mot de passe



6.Note de version 5.5 (1 mars 2011)

Nouveautés:

  1. Date dans les détails
  2. Balance avec des niveaux
  3. Lettrage dans le grand livre

Bugs:

  1. Export CSV de l'historique pour les financiers
  2. Génération de facture
  3. Moyen de paiement incorrect
  4. On ne voyait que les Xiers dossiers dans l'administration

7.Note de version 5.4 (février 2011)

Nouveautés:

  1. Adaptation pour les dossiers contenant plusieurs années
  2. Contrepartie pour les dépenses non admises et les dépenses du gérants configurable par fiche
  3. 2 nouvelles sortes d'attribut : les postes et les cards, le premier pour les postes comptables et le second pour les fiches
  4. Export CSV de tout historique : depuis la recherche, la liste des opérations de tous les journaux.
  5. Modification d'une fiche dans un popup html
  6. Depuis le détail d'une fiche, on peut en avoir la balance
  7. La partie gestion, pour les clients, les fournisseurs et les administrations, il y a en plus, les balances
  8. Prévisions peuvent être faites à cheval sur plusieurs années

Amélioration

  1. 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:

  1. Possibilité de réouvrir des périodes fermées
  2. Changement de la date de l'opération dans le détail opérations
  3. Ajout de commentaire possible dans le détail des opérations
  4. Ajout d'une limite de dates dans les prévisions
  5. Ajout de couleur dans les prévisions
  6. 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 »
  7. Déplacement du menu période dans le menu Paramètre
  8. Audit des personnes se connectant ou essayant de se connecter
  9. Ajout d'un captcha (optionnel)

Améliorations:

  1. Traitement des fiches plus rapide
  2. Apparence des montants
  3. Apparence des fiches, détail et historique
  4. 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

  1. Ajout balance par catégorie de fiche
  2. 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.
  3. 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
  4. 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
  5. Depuis les impressions → balances et impression → poste, on a les détails des opérations ainsi que dans impression → poste
  6. Pour les balances, on peut choisir les journaux : adapté à ceux en ayant vraiment beaucoup
  7. Depuis les lettrages, on peut aussi accéder aux détails d'une opération
  8. Le menu Grand Livre devient le menu Historique
  9. 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
  10. Impression - Rapprochement
  11. confirmation quand effacement d'un Plan Analytique (comptabilité analytique -&gt; Plan Analytique)
  12. Déplacement de fiche : les attributs manquant sont ajoutés !
  13. 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é
  14. Dans impression -&gt; poste, on peut filtrer les opérations suivant qu'elles sont lettrées ou non.
  15. 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
  16. 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
  17. Ajout bouton “ajoutez ligne” pour les OD en CA
  18. Ajout bouton “ajoutez ligne” pour les prévisions
  19. Ajout l'impression pour les lettrages par poste comptables
  20. Les historiques des fiches et postes comptables (impression → poste et impression et catégorie → historique) ont un solde progressif
  21. La recherche peut se faire dans plusieurs journaux à la fois
  22. Les balances peuvent être faites pour plusieurs journaux ou par catégorie de journal
  23. Amélioration de la vérification de la comptabilité (Avancé → Vérification)
  24. La date par défaut quand on encode une nouvelle écriture, est la date de la dernière écriture du journal choisi.
  25. 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)
  26. 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 &amp;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 :



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-&gt;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-&gt;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-&gt;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 :



13.Note de version 4.2 novembre 2008

1. Le mode strict : dans paramètre -&gt; 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-&gt;divers-&gt;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





1Utilisé par les attributs spéciaux des fiches

2Pour l'ajax, il existe plusieurs fichiers, ajax_misc.php est en général utilisé