--- title: Référence des règles description: Les champs de condition et opérateurs exacts du moteur de règles, ce que font les actions, comment les conditions se combinent, et l’ordre des règles section: Reference order: 21 sourceHash: 324a26c6beaa translation: machine --- # Référence des règles Une règle est un ensemble de conditions et un ensemble d’actions. Quand toutes les conditions correspondent, toutes les actions sont appliquées. Les règles s’exécutent après l’extraction et avant que la facture atteigne une file de travail humaine : elles décident donc de ce qui est remis à la personne qui examine ou qui approuve, plutôt que de ce qui arrive ensuite. Cette page donne le vocabulaire exact. Si vous voulez plutôt écrire votre première règle, commencez par [votre première règle d’imputation](/docs/first-rule). ## Les champs de condition et leurs opérateurs Chaque champ ne comprend que les opérateurs indiqués en regard de celui-ci. Le générateur n’en offre aucun autre, et une règle qui nomme une combinaison absente de ce tableau est refusée au moment de l’enregistrer, plutôt que d’être conservée sans jamais se déclencher, sans que personne s’en aperçoive. | Champ | Opérateurs | Comparé à | | --- | --- | --- | | Adresse d’envoi | est, contient | L’adresse complète de l’expéditeur, par exemple `invoices@theircompany.com` | | Fournisseur | est, contient, n’est pas associé | Le nom du fournisseur lu sur la facture | | Montant | est, est supérieur à, est inférieur à | Le total de la facture, comparé comme un nombre | | Mot-clé dans le document | contient | L’objet du courriel avec lequel la facture est arrivée | | Alias d’immeuble | est, contient | L’indice d’immeuble lu sur la facture, ou l’objet du courriel | | Adresse de courriel dédiée | est, contient | L’adresse de réception à laquelle le courriel est arrivé, par exemple `lakeshore@yourcompany.inlet-ap.com` | ### Comparer l’adresse de courriel dédiée `Adresse de courriel dédiée` est le côté qui reçoit l’échange, alors que `Adresse d’envoi` est le côté qui envoie. Ce champ existe pour qu’une adresse que vous avez remise aux fournisseurs d’un immeuble puisse guider l’imputation, et il est surtout utile avec `contient` et la partie locale seule : ``` Adresse de courriel dédiée contient "lakeshore@" ``` Écrite de cette façon, la règle résiste à un changement du sous-domaine de réception, ce qui n’est pas le cas si vous écrivez l’adresse au complet. Souvent, vous n’avez même pas besoin d’une règle. Une adresse créée avec un immeuble impute déjà à cet immeuble les courriels qui y arrivent quand la facture ne nomme rien de reconnaissable — voir [les adresses de courriel par immeuble](/docs/per-property-mailboxes). Utilisez une règle quand l’adresse doit aussi fixer un compte de grand livre, attribuer l’examen à quelqu’un, ou s’appliquer à une partie seulement des courriels qui y arrivent. Les comparaisons de texte ne tiennent pas compte des majuscules, donc `ACME Corp` et `acme corp` sont la même valeur. Les espaces au début et à la fin sont retirés de ce que vous tapez dans tous les cas, ainsi que de la valeur propre au document pour Adresse d’envoi, Alias d’immeuble et Adresse de courriel dédiée. Ils ne sont pas retirés du nom de fournisseur extrait ni de l’objet du courriel, alors préférez `contient` à `est` pour ces deux champs. Le montant est comparé comme un nombre. Une valeur qui n’est pas un nombre est refusée à l’enregistrement, parce qu’un montant non numérique donne « faux » avec chaque opérateur — ce qui produit une règle qui a l’air correcte dans la liste et qui ne correspond jamais à rien. `n’est pas associé` ne prend aucune valeur. La condition est vraie quand le fournisseur de la facture ne correspond à aucun fournisseur de votre espace de travail, ce qui en fait la condition pour « quelqu’un de nouveau nous envoie une facture ». ### Pourquoi il n’y a pas de champ de domaine Pour viser tout le domaine d’un fournisseur, utilisez Adresse d’envoi **contient** `@theircompany.com`. ``` Adresse d’envoi contient @theircompany.com ``` Il n’y a délibérément aucun champ distinct pour le domaine. L’adresse contient déjà le domaine, donc un champ de domaine serait un deuxième champ qui veut dire presque la même chose, et chaque personne qui écrit une règle devrait alors deviner lequel elle voulait. C’est le `@` au début qui rend le test exact : sans lui, `theircompany.com` correspondrait aussi à `billing@nottheircompany.com.example`. Le vocabulaire des conditions est court exprès. Chaque champ et chaque opérateur du tableau ci-dessus a sa branche correspondante dans l’évaluateur, et rien n’a de branche dans l’évaluateur sans figurer dans ce tableau. Une liste déroulante qui offre un opérateur que l’évaluateur ne peut pas exécuter est pire qu’une fonction absente, parce que la règle s’enregistre sans erreur et ne fait ensuite absolument rien — c’est pourquoi les conditions sont vérifiées à l’enregistrement. Les actions sont vérifiées de la même façon, et selon la même liste que celle qui sert à construire la liste déroulante du générateur, donc une action que le moteur ne peut pas exécuter est refusée au moment où vous l’enregistrez plutôt que découverte des mois plus tard. ## Comment les conditions se combinent Toutes les conditions doivent correspondre. Il n’y a pas de OU, et pas d’imbrication. Une règle sans aucune condition correspond à chaque document, alors donnez toujours au moins une condition à une règle. Quand vous voulez un OU, écrivez deux règles. C’est plus long à taper, et chaque règle se lit seule, ce qui compte quand quelqu’un demande dans six mois pourquoi une facture donnée a été imputée de telle façon. ## Les actions | Action | Ce qu’elle fait | | --- | --- | | Définir l’imputation | Inscrit un compte de grand livre sur le document, consigné comme venant d’une règle plutôt que de la page. Une action sans compte est ignorée. | | Attribuer l’examen | Attribue le document à un membre nommé de votre espace de travail. Si le nom ne correspond à personne dans l’espace de travail, le document reste sans attribution plutôt que d’être remis à une personne inconnue au nom semblable. | | Attribuer l’approbation | Demande à un membre nommé de votre espace de travail d’approuver le document, au lieu de le laisser à la première personne qui s’en charge. L’action prend effet quand le document arrive au statut prêt pour l’approbation; un document que le traitement envoie plutôt à l’examen ou en quarantaine ne reçoit aucune personne pour l’approuver, et l’intention de la règle est consignée dans la piste de vérification dans les deux cas. Si le nom ne correspond à personne dans l’espace de travail, on ne demande rien à personne, pour la même raison qu’Attribuer l’examen refuse. | | Approuver automatiquement | Fait passer le document à prêt pour l’approbation sans attendre le seuil de confiance. Choisissez Oui ou Non. Un immeuble qui exige encore un examen a priorité sur cette action. | | Mettre en quarantaine | Met le document en attente pour raison de sécurité et envoie une notification qui nomme la règle responsable. | | Marquer comme montant à récupérer | Propose qu’une partie de la facture soit due : vous choisissez pourquoi (dommages causés par un locataire, un appel de service pour un locataire, des services publics, un montant dû par un copropriétaire ou autre), qui la doit (la personne occupante ou le copropriétaire) et, si vous le voulez, un pourcentage de chaque ligne (la ligne entière si vous laissez le champ vide). Pour chaque ligne imprimée dont le logement est connu — par la ligne elle-même, par un logement indiqué dans Définir l’imputation, ou par le seul logement de la répartition de cette ligne — un montant à récupérer est proposé pour ce logement. Une ligne sans logement connu ne reçoit rien et affiche plutôt « Quel logement? » sur la facture. Chaque montant à récupérer créé par une règle est **proposé**; une personne le confirme ou l’abandonne, une règle ne le confirme jamais, et il ne bloque jamais l’approbation de la facture. Un montant que la facture ne peut pas porter (un copropriétaire dans un immeuble qui n’est pas de type Copropriété, un montant supérieur au coût de la ligne) est laissé de côté. Voir [la récupération des coûts](/docs/cost-recovery). | L’approbation automatique se fait seulement si vous l’activez, et elle est limitée par les conditions que vous fixez. Une première version courante est « un fournisseur associé, sous un petit montant, d’une adresse connue » — assez étroite pour que vous ayez de toute façon approuvé chacune de ces factures à la main. Chaque règle qui se déclenche est consignée dans la [piste de vérification](/docs/audit-trail) du document, avec le statut auquel le document a abouti, et le code de grand livre porte l’identifiant de la règle qui l’a inscrit — c’est ce qui rend l’approbation automatique défendable plutôt que simplement pratique. ## Priorité et ordre Les règles portent un numéro de priorité de 0 à 1000, et le moteur les exécute par ordre croissant : une règle à 10 s’exécute avant une règle à 100. Les nouvelles règles commencent à 100, et vous réglez ce numéro dans l’écran [Règles](/app/rules). Les règles de même priorité s’exécutent de la plus ancienne à la plus récente. Chaque règle qui correspond est appliquée, pas seulement la première. Deux règles qui fixent toutes deux un compte de grand livre s’exécutent toutes les deux et la dernière exécutée l’emporte, alors donnez à l’exception le numéro **le plus élevé** — une règle générale à 100 et son exception à 200 — plutôt que de vous fier à l’ordre dans lequel deux règles ont été écrites. Une seule action arrête la séquence : la mise en quarantaine. Quand une règle de mise en quarantaine correspond, aucune autre règle n’est évaluée pour ce document. Un document retenu pour une raison de sécurité ne devrait pas en plus être imputé, attribué et approuvé automatiquement en route vers sa mise en attente. Chaque règle garde le compte du nombre de documents auxquels elle a correspondu. Une règle dont le compteur est à zéro après un mois chargé est en général une règle dont les conditions sont plus étroites que ce que croyait la personne qui l’a écrite. ## Simuler une règle en cours de rédaction **Simuler**, dans l’écran [Règles](/app/rules), rejoue la règle que vous modifiez sur des documents que votre espace de travail contient déjà, et indique à lesquels elle correspondrait et ce qu’elle ferait à chacun. La fonction répond à la question « que ferait cette règle aux factures que nous avons déjà? ». Elle n’écrit rien. Aucun document n’est imputé, attribué, retenu ni exporté; aucune entrée n’est écrite dans la piste de vérification; aucune règle n’est créée; et aucun compteur de correspondances ne change. Lancer une simulation laisse l’espace de travail exactement comme il était. La règle en cours de rédaction est évaluée **parmi** les règles activées, par ordre de priorité, plutôt que seule. Simuler une règle que vous modifiez retire la version enregistrée de la chaîne et met la version en cours à sa place, en gardant la position de cette règle parmi les règles de même priorité. Une règle que vous n’avez pas encore enregistrée est placée en dernier dans sa tranche de priorité, là où l’enregistrer maintenant la mettrait. Une règle qui ne pourrait pas être enregistrée est refusée plutôt que simulée, selon les trois mêmes vérifications que l’enregistrement : la grammaire des conditions, le vocabulaire des actions et la plage de priorité. Comme la mise en quarantaine arrête la chaîne, une correspondance n’est pas toujours une règle qui se déclencherait. Un document correspondant qu’une règle activée placée avant met d’abord en quarantaine est indiqué comme jamais atteint : la rangée nomme la règle qui y arrive en premier, et le résumé compte combien de correspondances sont dans ce cas. Un numéro de priorité plus bas place votre règle devant la règle qui la devance. | Limite | Ce que c’est | | --- | --- | | Documents lus | Les 200 plus récents, du plus récent au plus ancien, selon le moment où ils sont arrivés dans inletAP | | Le maximum jamais lu | 500 en une seule exécution. La réponse indique la limite utilisée et le nombre de documents réellement lus, et l’écran affiche les deux | | Rangées correspondantes affichées | 50, les plus récentes. La carte indique de combien de correspondances cette liste est tirée | | Documents ignorés | `new`, `parsed`, `held_quota` et `filtered` — les quatre statuts situés avant le moteur de règles. Un document devient admissible une fois que l’extraction en a terminé avec lui | | Immeubles accessibles | Ceux de la personne qui lance la simulation. Un membre limité à certains immeubles simule seulement sur ces immeubles, avec le même filtre que la boîte de réception | | Qui peut la lancer | Administration, Contrôle et approbation et Commis aux comptes fournisseurs. Le rôle Lecture seule est refusé, comme pour tout ce qui touche les règles | | Forfait | Payant, comme le reste du moteur de règles. Avec le forfait gratuit, le bouton est désactivé et en donne la raison | | Ce qu’elle écrit | Rien | Pour une règle avec **Marquer comme montant à récupérer**, chaque facture correspondante indique aussi les montants à récupérer que la règle proposerait — le logement, la ligne et le montant —, les lignes qui demanderaient « Quel logement? », ainsi que celles que la facture refuserait, avec la raison. Le résumé compte les trois. Les logements et le réglage des taxes sont lus tels qu’ils sont aujourd’hui, comme tout le reste dans une simulation, et la simulation ne propose rien. Tout ce qui est plus ancien que cette fenêtre n’est pas examiné, ce qui ne veut pas dire qu’il ne correspond pas : une simulation est donc une preuve sur les courriels récents et non un recensement de votre historique. Voir [les statuts des factures](/docs/invoice-statuses) pour le sens des quatre statuts ignorés. La correspondance utilise les associations de fournisseurs et les alias d’immeubles **tels qu’ils sont maintenant**, jamais tels qu’ils étaient à l’arrivée de chaque facture. `Fournisseur n’est pas associé` est évalué selon la liste de fournisseurs d’aujourd’hui, et un alias d’immeuble que vous avez ajouté cette semaine s’applique à une facture du mois dernier. Une simulation est une prévision sur les documents qu’elle a lus, et non la reconstitution de leur sort au moment de leur arrivée. ## Désactiver plutôt que supprimer Une règle peut être désactivée et laissée en place. Le compteur de correspondances et l’historique de vérification sont conservés, ce qui vaut plus qu’une liste bien rangée quand vous cherchez à comprendre ce qui a changé. ## Qui peut écrire des règles Lire les règles — et en simuler une — est permis aux trois rôles internes : Administration, Contrôle et approbation, et Commis aux comptes fournisseurs. Une personne au rôle Commis aux comptes fournisseurs, qui ne peut pas enregistrer de règle, peut quand même montrer à une personne au rôle Administration ou Contrôle et approbation ce que la règle ferait. Créer, modifier et supprimer des règles est réservé aux rôles Administration et Contrôle et approbation, et l’API applique cette restriction indépendamment de ce qu’affiche l’interface. Le rôle Lecture seule ne voit rien de tout cela. Voir [les rôles et les autorisations](/docs/roles-and-permissions). Le moteur de règles fait partie des forfaits payants. Avec le forfait gratuit, le reste du traitement fonctionne normalement — réception, extraction, examen, approbation et exportation fonctionnent tous — et écrire une nouvelle règle est la raison de passer à un forfait supérieur. Les règles que vous avez écrites avec un forfait payant continuent de s’exécuter si vous revenez au forfait gratuit. ## Pour aller plus loin - [Votre première règle d’imputation](/docs/first-rule) — un exemple complet à partir d’une vraie facture. - [Imputer les factures](/docs/coding-invoices) — ce que signifient réellement les champs qu’une règle inscrit. - [Statuts des factures](/docs/invoice-statuses) — où une mise en quarantaine ou une approbation automatique laisse un document. - [Rôles et autorisations](/docs/roles-and-permissions) — qui a le droit de modifier tout cela.