WO2021110763A1 - Computer-implemented method for allocating an accounting document to a pair of debtor/creditor accounts and the accounting entry - Google Patents

Computer-implemented method for allocating an accounting document to a pair of debtor/creditor accounts and the accounting entry Download PDF

Info

Publication number
WO2021110763A1
WO2021110763A1 PCT/EP2020/084308 EP2020084308W WO2021110763A1 WO 2021110763 A1 WO2021110763 A1 WO 2021110763A1 EP 2020084308 W EP2020084308 W EP 2020084308W WO 2021110763 A1 WO2021110763 A1 WO 2021110763A1
Authority
WO
WIPO (PCT)
Prior art keywords
accounting
accounts
vector
information
self
Prior art date
Application number
PCT/EP2020/084308
Other languages
French (fr)
Inventor
François BLAYO
Original Assignee
Neoinstinct Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neoinstinct Sa filed Critical Neoinstinct Sa
Priority to EP20819700.4A priority Critical patent/EP4070265A1/en
Publication of WO2021110763A1 publication Critical patent/WO2021110763A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present invention relates to the field of computer-implemented methods for the automatic allocation of accounting documents. More particularly, the present invention relates to a computer-implemented method by which an accounting document is automatically allocated to a pair of debtor / creditor accounts and by which the corresponding accounting entry is automatically made in this pair of accounts. In particular, the present invention relates to a method for the automatic allocation of accounting documents based on learning based on a so-called self-organized card algorithm which takes into account the accounting entries of the past. State of the art
  • the proper keeping of accounts requires systematically carrying out operations of recording information relating to the activity carried out by the entity: keeping a documentary evidence for each transaction carried out, classifying the supporting documents in chronological order of payment date or collection, keep a cash, post or bank book, with daily or weekly updates depending on the volume of business activities, record each transaction by entering the date, the number of the supporting document, the nature of the transaction (for example purchase, costs, collection, etc.), the corresponding amount and the balance of the day and finally regularly record bank movements (for example payments made by debtors or payments for the benefit of creditors).
  • An entity's chart of accounts is a list of account numbers where the various operations carried out by this entity are recorded. Each account number represents an item allowing the preparation of the balance sheet and the income statement.
  • the chart of accounts is thus made up of account numbers and their descriptions. Account numbers are grouped into a number of account classes. Usually, transaction records are made on the basis of available information (invoices, bank statements, fees, etc.) in paper or electronic form. They are generally carried out manually by an accountant using accounting software which makes it easy to operate the company's chart of accounts. Keeping the accounts of an entity is an action that requires two phases: 1. the creation of the entity's chart of accounts and 2. the regular recording of all transactions.
  • the creation of the chart of accounts is carried out during the creation of the entity and the chart of accounts is not normally modified thereafter.
  • the recording of transactions is carried out continuously throughout the legal existence of the entity. This recording is done for the most part manually because it requires reading and interpretation of the information contained in the accounting documents as well as compliance with the rules issued by third parties (for example tax authorities, social organizations, banks, etc.).
  • an accounting software engine accepts the input of user-defined company specific textual or digital information and conventional financial accounting data and converts them into computer data multidimensional on a star schema indexed as a journal entry.
  • the journal entry is analyzed using a relational methodology or other database methodology to generate conventional accounting statements such as General Ledger, Balance Sheet, Cash Flow Statements, Statements profit and loss and earned income statements for user-specified time periods.
  • Multidimensional business information accounting software engine can also generate data accounting reports broken down into a range of company-specific digital information or accounting statements relevant to a company-specific subject, specific information for a specified period of time, providing the user with the sensitivity of different specific information on the accounting statements, so that the user can change their business practices in real time.
  • the main development relates to the way of coding the accounting information.
  • accounting information entered into an accounting system is typically coded in three places: in one journal and in two general ledger receivables / payables when referring to double-entry accounting.
  • the accounting information is no longer coded in the credit and debit accounts, it is only coded in the journal. The latter becomes the sole source of information for the establishment of the accounts. As such, the issue of debtor / creditor allocation does not arise and is therefore not addressed in this document.
  • US Patent 6330545 B1 proposes an activity-based information accounting method and system.
  • the activity information accounting system records a table of account titles corresponding to the activity information and performs the accounting procedures based on the entered activity information and an account title corresponding to the entered activity information. .
  • the accounting system displays the types of system activities, including buying and acquiring activities, selling and revenue activities, spending activities, investing and financing activities, and trading activities. production. If a user selects one of the activity types displayed, the accounting system displays a screen allowing the user to enter activity information for the selected activity type.
  • the accounting system determines whether the information of the input activity is an internal activity or an external activity, executes the accounting procedures on the basis of the determined result and the table of titles of the accounts.
  • the accounting method and system allows those who are not trained in the field of accounting to prepare accounting reports by simply entering information on business activity.
  • Accounting reports prepared include balance sheets, income statements, cash flow statements and other accounting reports that provide different measures of value and overall business performance, without having to go through the complex process of journal entries.
  • the disclosed accounting method and system does not provide financial information.
  • the disclosed accounting method and system does not provide financial information combined with business information since it only collects information on activities entered by the user.
  • An aim of the present invention is therefore to propose a method implemented by computer for the automatic allocation of a pair of debit / credit accounts to a new accounting document and for the accounting entry associated with this accounting document making it possible to overcome the limitations mentioned previously.
  • an object of the invention is achieved by virtue of a computer-implemented method for the automatic allocation of an accounting document to a pair of debit / credit accounts of a chart of accounts and for the entry.
  • accountant associated with this accounting document comprising the steps: a. Extraction of "description" information corresponding to a descriptive text as well as "accounting" information corresponding to the pair of debtor / credit accounts for each of a number Z of entries accountants previously recorded in one or more General ledgers; b. Transformation of the “description” information from an alphanumeric format into a digital value of dimension K by means of a vectorization function of words F for each of the Z extracted digital writings; vs.
  • the method of the present invention it is possible to automatically allocate a pair of debit / credit accounts to a new accounting document on the basis of the past accounting entries.
  • the complete accounting entry can be made automatically.
  • This method not only saves time by automating account allocation, but above all avoids errors.
  • the information extracted from the new accounting document is extracted and objectified before being compared with the corresponding information from past accounting entries which have been organized in a self-organized card.
  • the allocation of the new accounting document to a pair of accounts is therefore made on the basis of objective information and not, as in the methods normally used, on subjective information.
  • this method does not depend on the format of the chart of accounts on which the Ledgers of previous accounting years are based. It is sufficient that it is possible to define the concept of distance between accounts in order to be able to implement this method.
  • Learning the self-organized map C in step d. can be implemented anywhere unsupervised learning algorithm known from the prior art, such as for example, the so-called Kohonen algorithm.
  • the self-organized map C is composed of a grid of low-dimensional neurons.
  • each neuron has two neighbors.
  • the arrangement of neurons is done in a rectangular way where each neuron has 4 neighbors (rectangular topology) or in a hexagonal way where each neuron has 6 neighbors (hexagonal topology). Neurons are recognized by their number and their location on the grid.
  • the data vectors V are projected from their initial space, or input space, to the card or output space.
  • Each neuron on the map is associated with a referent vector, also called a prototype or prototype vector, belonging to the input space.
  • P the total number of neurons in the map
  • the referent vector of the neuron p of dimension N is denoted by: Wp with p G ⁇ 1, ..., P ⁇ and w p ER N
  • the goal of map training is to update the referent vectors to best approximate the distribution of the input vectors while reproducing the self-organization of the map neurons.
  • the card is learned in sequential mode, also called incremental, or in deferred mode (batch).
  • Each iteration t of sequential learning comprises two stages.
  • the first step is to randomly choose an observation x (t) from the set W, and present it to the network in order to determine its winning neuron.
  • the winning neuron (Best Matching Unit) of an observation is the neuron whose referent vector is closest to it within a given distance (eg: Euclidean distance). If c is the winning neuron of the vector x (t), c is determined as follows:
  • the winning neuron is activated. Its referent vector is updated to approximate the input vector presented to the network. This update does not only concern the winning neuron as in the methods of competitive learning (Winner take ail), but also the neurons which are neighboring to it and which then see their referent vectors adjust towards this vector of Entrance.
  • the magnitude of this adjustment is determined by the value of a learning step a (t) and the value of a neighborhood function h (t).
  • the parameter a (t) regulates the speed of learning. It is initialized with a large value at the beginning then decreases with the iterations in order to slow down as the learning process progresses.
  • the function h (t) defines membership in the neighborhood. It depends both on the location of the neurons on the map and on a certain neighborhood radius. In the first iterations, the neighborhood radius is large enough to update a large number of neighboring neurons to the winning neuron, but this radius gradually narrows to contain only the winning neuron with its neighbors. immediate, or even the winning neuron only.
  • the rule for updating the referent vectors is as follows: where c is the winning neuron of the input vector x (t) presented to the network at iteration t and h is the neighborhood function which defines the proximity between neurons c and p.
  • a neighborhood function between the winning neuron c and a neuron p of the map is equal to 1 if the neuron p is located inside the square centered on the neuron c and 0 in the other cases. The radius of this square is called the neighborhood radius. It is wide at the start, then narrows with iterations to contain only neuron c with its immediate neighbors at the end of learning or even just neuron c.
  • a more flexible and common neighborhood function is the Gaussian function defined below: where r c and r p are respectively the location of neuron c and neuron p on the map, and o (t) is the radius of the neighborhood at iteration t of the learning process.
  • the amplitude of the adjustment is graduated according to the distance from the victorious neuron which reserves the maximum amplitude for itself.
  • the result of this unsupervised learning is the nonlinear projection of all observations on the map. Each observation is attributed to its winning neuron.
  • this projection preserves the topology of the data through the use of the neighborhood function. Two neighboring neurons on the map will represent nearby observations in the data space.
  • a variant of learning is said to be “in deferred mode”.
  • deferred mode at each iteration t, all the observations are presented to the network and the updating of the prototype vectors is done by taking into account all the observations of the dataset.
  • Each prototype vector is a weighted average of the observation vectors
  • the rule for updating prototype vectors is given by: where h is the value of the neighborhood function between the winning neuron a of vector x, and the neuron p.
  • the updating of the prototype vectors can be formulated in another way by using the fact that the observations which have the same victorious neuron have the same value for the neighborhood function and belong to the Voronoi region whose center is their victorious neuron: where ni is the number of observations belonging to the Voronoi region represented by the neuron / and x / is the average of the observations of this same region.
  • ni is the number of observations belonging to the Voronoi region represented by the neuron /
  • x / is the average of the observations of this same region.
  • the self-organized map is a two-dimensional or three-dimensional map.
  • a first initialization method consists in assigning an initial weight vector P to each node of the self-organized map C.
  • This initial allocation of the weight vectors can for example be a random allocation of a number to each scalar vector of the weight vectors, without stimulation.
  • the term "random" refers to equal probability for any of a set of possible outcomes.
  • the numerical value of these randomly assigned scalar values can be approximately limited to the lower and upper bound by the corresponding extrema observed in the training vectors, i.e. the V vectors.
  • Another method of initialization weight vectors P includes a systematic variation, for example a linear variation, in the range of each dimension of each weight vector to approximately intersect the corresponding range observed in the training vectors V.
  • the weight vectors are initialized by the values of the vectors ordered along a two-dimensional subspace crossed by the two main eigenvectors of the training vectors V obtained by orthogonalization methods well known in the art, for example by the so-called Gram-Schmidt orthogonalization.
  • the initial values are fixed on samples chosen at random from the training vectors V.
  • the determination of the BMU vector of the self-organized map C can be carried out according to several criteria well known to those skilled in the art. This can for example be done on the basis of a distance for example the minimum Euclidean distance between all the weight vectors P of the self-organized map C and the vector W.
  • Other methods can for the determination of BMU such as those using the correlation between vectors which has the advantage of offering more robustness to the offset between vectors, the angular difference between vectors which offers the advantage of emphasizing the mutual length of the vectors as long as the information is carried by these quantities, the Minkowsky distance measure which is a generalization of the Euclidean distance measure and which is advantageous when the vectors carry data of a qualitative nature can also be implemented.
  • the distance between two accounts is determined by the number of hops that must be made in the chart of accounts tree to join two accounts by the shortest route. This first allows you to define a distance that can be measured between two accounts and to easily and quickly determine the distance between two accounts regardless of the exact organization of the underlying chart of accounts.
  • determining the BMU vector in step h. is performed on the basis of a Euclidean distance measurement between the BMU vector and the W vector.
  • the Euclidean distance between vectors is a measurement that can be determined very quickly regardless of the dimension of the self-organized map C which allows rapid implementation of this method and therefore also rapid allocation of the new accounting document.
  • determining an Euclidean distance between two vectors requires only few computational resources. It can therefore be done on ordinary desktop computers.
  • the self-organized card C is updated after each new accounting entry, after every tenth new accounting entry or after every hundredth new accounting entry.
  • This allows the self-organized card C and therefore the allocation of accounts for new accounting documents to improve on the basis of the new accounting documents which have already been allocated.
  • the present method therefore becomes “self-learning”. The more the number of accounting documents processed by this method increases, the more precise it becomes.
  • step b. is carried out using a so-called hash function F.
  • This function is used to manage categorical variables, that is to say variables which do not have a natural numerical representation.
  • the hash function offers a solution to convert categorical variables into numeric variables. There are several ways to do this.
  • CatBoost The "Target coding" where we calculate the average of the target value by category.
  • the specific hash function can be chosen in relation to the number of data included in the past accounting entries. If the number of words corresponding to the “description” information is small, it is sufficient for the hash function to transform these words into a numerical value with a small number of digits, for example 128 or 256 digits. On the other hand, if the number of words is important, it is preferable that the hash function vectorizes the words in numerical values with at least 512, 1024 or 2048 digits.
  • the “description” and “amount” information is extracted from a scanned copy of the new accounting document. This makes it possible to achieve an allocation of the new fully automated accounting document.
  • FIG. 1 shows a functional diagram of a method according to an embodiment of the present invention
  • FIG. 2 shows a functional diagram of an exemplary implementation of the step of extracting past accounting entries
  • - Figure 3 shows a diagram of a transaction processor used in the embodiment of the present invention
  • FIG. 8 shows a functional diagram of the adaptation of the self-organized map
  • FIG. 9 illustrates the two subgroups of components of the weight vectors P of the self-organized map
  • FIG. 10 illustrates the determination of the BMU vector corresponding to the new accounting document
  • FIG. 11 illustrates the determination of the couple of accounts receivable / payable on the basis of the vector BMU.
  • the invention presented here consists of allowing an allocation of accounts receivable and payable from data extracted from accounting documents and in particular from the descriptions associated with each document.
  • This approach requires the modeling of the allocations made by the accountant during the fiscal years preceding the current fiscal year.
  • the principle of the invention is therefore based on the observation that the accounting entries made by an entity are repeated from year to year.
  • Each entry linked to an accounting document causes the movement of two accounts: the debit account and the credit account or pair of debit accounts / accounts payable. This is called allocating an accounting document to a couple of accounts.
  • Each allocation results from the analysis, by the accountant, of the so-called “accounting" information contained in the accounting documents (customer, supplier, individual amount per item, total amount, VAT, VAT rate, etc.) but also of elements “Contextual” relating to the accounting document (descriptions, seller, comments, etc.). All of this information constitutes a multidimensional contextual space in which each part can be represented by a point or a vector.
  • the present invention is based on the idea that it is possible to map the allocations of the debtor / creditors pairs made in the past and to use them to automatically determine the allocation of the debtor / creditors pairs for the new accounting documents.
  • the mapping relies on a non-linear projection of points from the multidimensional contextual space to a 2-dimensional map.
  • Figure 1 shows an embodiment of the present invention.
  • the computer-implemented method for the automatic allocation of a accounting document to a pair of accounts receivable / accounts payable according to this embodiment comprises the following steps:
  • step 110 of FIG. 1 An exemplary embodiment of step 110 of FIG. 1, that is to say the extraction of accounting entries made in the past is illustrated in FIG. 2. This extraction can be done for example on the basis of the information. contained in the entity's accounting software.
  • the accounting entries to be extracted are for example contained in the General Ledger of the accounts for previous years.
  • the accounting entries 220 are read and analyzed by a transaction processor 230.
  • the latter searches for the data of the accounting entries containing the date of the entry, the debit account number assigned to the entry, the credit account number assigned to the entry, the description of the entry and the amount.
  • the transaction processor 230 writes the data corresponding to its analysis in a database 240 which can be structured as shown in Table 1.
  • the database 240 contains all the data corresponding to the entries for the years chosen and taken from the accounting software.
  • step 110 it is possible to implement step 110 in another manner known to a person skilled in the art. It is for example possible to manually introduce into the database 240 the writings made in the past. It is thus possible to implement the present invention even if the accounting of the entity has hitherto been carried out on paper. It would also be possible to scan the paper accounts and extract from the scanned documents the data necessary for the establishment of the database 240.
  • Table 1 example of accounting data extracted from past accounting entries
  • Accounting data extracted from postings made in the past must be converted to facilitate their understanding by an additional system.
  • This operation is carried out for example by the transaction processor 230 shown in FIG. 3.
  • the transaction processor 230 is advantageously composed of two mechanisms which perform the conversion of the account numbers into distances between accounts (step 231) and the conversion of the words contained in the “description” field into digital values by a hash function (step 232) .
  • the analysis of the professional practice of accountants has highlighted the fact that the latter allocate an accounting document to a pair of accounts receivable / accounts payable on the basis of contextual information contained in the accounting document. This information is found in the entries that were made in the past. They are found specifically in the account allocations as well as in the “description of the operation” field normally filled in by the accountant.
  • the allocation of accounts carried out by the accountant is a numerical datum which designates an account in a chart of accounts.
  • the account “6200” refers to vehicle and transport charges. This digital data does not make sense as such. It actually designates the node of a tree whose root is the chart of accounts and which is divided into two branches: the balance sheet and the income statement or cash flow.
  • the chart of accounts can be represented in the form of a tree as shown in Figures 4, 5a and 5b.
  • the concept of distance between the accounts of the chart of accounts is illustrated in figure 6.
  • the distance between two accounts of the chart of accounts is defined as the number of jumps that must be made in the tree to join these accounts by the shortest path. .
  • the distance between the accounts “1022-Bank 2" and “6281-Transport costs” is worth 10 because it is necessary to perform 10 jumps to establish the shortest path between these accounts in the tree of the chart of accounts. For each General Ledger account, it is thus possible to determine all the distances that separate it from the other accounts in the chart of accounts tree. For example, the distances which separate the account “6281 -Transport costs” from all the other accounts in the chart of accounts are reported in table 2.
  • Table 2 example of an extract of the distances between an account in the chart of accounts and all the other accounts
  • the set of distances separating all the general ledger accounts of an entity can be evaluated once and are stored in a database in the form of a table with NxN entries, N corresponding to the number of "sheets" of the chart of accounts tree. It should be noted that only the sheets of the chart of accounts are useful for the construction of this table. The other nodes of the tree are only used to calculate the shortest path between the pairs of leaves. In the context of a concrete example of an implementation of the present invention on the basis of the standard Swiss chart of accounts, the table of distances between accounts therefore comprises 229 X 229 entries.
  • the transaction description data which has been extracted from past accounting entries, contains information that can be used to model the distribution of transactions. “Distribution of transactions” is understood to mean the statistical distribution of transactions with regard to accounting codes. Each operation is a point in a multidimensional space and the set of operations is thus a point cloud in this space constituting a statistical distribution.
  • the “description” data item for each past entry extracted is converted into a contextual space.
  • the contextual space is composed of all the words of a vocabulary extracted from the available descriptions.
  • the principle consists in representing each description of an operation as a vector in a Euclidean space of dimension t where each dimension corresponds to a word of the vocabulary.
  • part of the vocabulary extracted in the “description of the operation” field from the accounting histories is illustrated in table 3.
  • Table 3 extract of the vocabulary from the "description" information of past accounting entries
  • the alphanumeric values of these words are transformed by a method known as “vectorization” of words.
  • This transformation can for example be carried out by means of a hash function F.
  • This technique is known as “hashing vectorization” or “hashing tricks”.
  • the hash function F takes as input all the words of the vocabulary resulting from the descriptions associated with all the scripts and transforms them into a numerical value.
  • the number of different numerical values to represent all the available descriptions is fixed at 1024. This choice makes it possible to fix the length of the vector which thus becomes independent of the number of words used for the description of each entry.
  • each accounting operation can therefore be represented by 1482 values organized in a vector V according to the structure illustrated in Table 4. These data are stored in the database 240 represented. in figure 2. The database will therefore contain Z rows of 1482 values, where Z is the number of entries available for year N.
  • Table 4 example structure of accounting data after restatement
  • a mapping of the classes of the accounting entries from the accounting entries made in the past is established in step 130.
  • the data stored in the database 240 and for example organized according to Table 4 are used. to feed an automatic classification system for accounting entries which is based on an algorithm known as “self-organizing maps (SOM)” or “auto-organized map” (see figure 7).
  • SOM self-organizing maps
  • auto-organized map see figure 7
  • the self-organized map C (250 in Figure 7), refers to a technique of grouping and representation of the result, a technique which groups data into classes of such type. so that similar data is usually grouped together in the same class while dissimilar data is not.
  • the self-organized, first-stated map is a neural network model capable of projecting large-dimensional input data (i.e., multivariate data vectors) onto a smaller-dimensional array, usually at two dimensions. This projection produces a lower dimensional representation which is useful for detecting and analyzing the characteristics of the higher dimensional input space.
  • dimension in the context of a multivariate data vector refers to the length of the data vector, so each of its multiple variables describes a single dimension.
  • a dimension can refer to a distance between accounts, possibly standardized.
  • dimensional in the context of a representation (eg, a visual representation) refers to one, two or three dimensional presentations generally used to provide information to a human.
  • the self-organized C makes it possible to organize the multidimensional data of the database 240, that is to say the Z writes of the past in the form of vectors V with their 1482 components and of represent these writings in the form of a two-dimensional map in which the “similar” writings are grouped together in classes which are represented in the self-organized C by the nodes of this map.
  • the construction of the self-organized map by means of the “self-organized” algorithm can for example follow the steps described in FIG. 8. Initially, an initial weight vector P (step 810) is assigned to each node of the self-organized map.
  • weight vectors P are known to those skilled in the art, including the random allocation of a number to each scalar vector of the weight vectors, without stimulation.
  • random refers to equal probability for any of a set of possible outcomes.
  • the numerical value of these randomly assigned scalar values can be approximately limited to the lower and upper bound by the corresponding extrema observed in the training vectors, here the V vectors.
  • Another method of initializing the weight vectors includes a systematic (e.g. linear) variation in the range of each dimension of each weight vector P to approximately intersect the corresponding range observed in the training vectors.
  • the weight vectors P are initialized by the values of the vectors ordered along a two-dimensional subspace crossed by the two principal eigenvectors of the training vectors obtained by orthogonalization methods well known in the art (for example, Gram-Schmidt orthogonalization).
  • the initial values are fixed on samples chosen at random from the training base.
  • at each node of the self-organized map is assigned during step 810 a weight vector P of dimension 1482, whose values of the 1482 components can initially assigned in different ways, preferably randomly.
  • a training vector V that is to say one of the rows of the database 240.
  • the selection can be random or systematic, preferably random.
  • the Euclidean distance between the selected training vector and each weight vector P associated with the nodes of the self-organized map C is calculated.
  • the weight vector P, and therefore the corresponding node of the self-organized map C, having the smallest Euclidean distance is defined as being “the unit which corresponds best” (Best Matching Unit or BMU).
  • BMU Best Matching Unit
  • step 850 it is decided whether to repeat steps 820-840 or to terminate the construction of the self-organized map C. This decision is based on whether or not a predefined convergence criterion is met.
  • each weight vector P that is to say each node of the self-organized card C, codes a pair of a debit account and a credit account and their distances from all other accounts in the chart of accounts.
  • each node of the self-organized map C codes 1024 values corresponding to a hash vector of the description data as well as 2 x 229 values corresponding to the distances between them. accounts.
  • each node can therefore be represented by a vector of dimension 1482.
  • the distance measure used to organize the self-organized map C is a Euclidean distance
  • each weight vector P associated with a node of the map C groups together all the values located in its Voronoi hypercube.
  • the weight vectors P associated with the nodes are no longer modified.
  • the use of the card for the automatic allocation of a new accounting document consists, on the basis of the “description” information extracted from this document in step 140 (see FIG. 1), in determining what the torque is. debit / credit accounts that should be associated with it based on what was previously assigned by the accountant. This step corresponds to steps 160 and 170 of FIG. 1.
  • FIG. 1 details the steps 150 to 180 required to obtain the class, that is to say the corresponding node of the self-organized card C, of a new accounting document.
  • the “description” information can come from the accounting document itself if it is identifiable as such in a digital file, from a metadata associated with the accounting document, from an additional statement to the accounting document added by a manual operator, an automatic analysis system capable of extracting information from the accounting document and in general any system capable of giving contextual information coded in digital form in relation to the accounting document and able to help in its interpretation.
  • the “description” information in alphanumeric form extracted from the accounting document is transformed into a numerical value thanks to the same hash function F which was used to create the database 240.
  • a vector of numerical values W is created for each new accounting document.
  • a vector W of dimension 1024 is created on the basis of the “description” information extracted from this document.
  • the description of the new accounting document, transformed into a vector W of numerical values, is provided as data of the step during which we use the self-organized map C to obtain the class (the node of the map) for the new document accounting.
  • the values of each node of the self-organized map correspond to two subsets of information: those which correspond to a new description and those which correspond to the two distances associated with the description, as shown in figure 9.
  • the weight vector associated with each node of the map can be subdivided into a first subset of “coordinates” which represent the “description” information and a second subset which corresponds to the distances between the counts.
  • the first subset contains 1024 numeric values and the second subset 458 (2x229) numeric values.
  • the subset corresponding to W ⁇ sc carries information on the description of the accounting document in the form of 1024 numerical values.
  • the subset comprising w ⁇ edlt and wf j eblt carry the information relating to the distances between accounts coded by node j of the map.
  • the determination of the node (or of the class) of the self-organized map C to which the new accounting document must be allocated is carried out using an algorithm which determines the Euclidean distance between the input vector x 1 1024 and the components W ⁇ esc of the weight vector P associated with each node of the map.
  • the weight vector P, and therefore the corresponding node, having the smallest Euclidean distance with the input vector x 1 1024 is declared BMU as illustrated in figure 11.
  • the corresponding map node is therefore assigned to the new one. accounting document.
  • the values w ⁇ edlt and wf j eblt were adapted according to the account distances associated with each entry.
  • Table 4 which illustrates the structure of the past accounting data extracted and after restatement, the entries corresponding to the distances are all different from zero except the one which corresponds exactly to the allocation account of the credit or debit entry.
  • the distance values do not necessarily contain components with a value equal to 0.
  • Table 5 shows an example of the values of the Wif edlt subset in the context of the concrete example of the implementation of the present invention.
  • the corresponding account is account "5274".
  • the debit account can be determined from the distances of the subset wf j eblt corresponding to the node of the card identified.
  • two accounts are therefore obtained which exactly determine the pair of debit / credit accounts in which we are going to write the “amount” value of table 1, which corresponds to the last step 190 of FIG. 1.
  • Table 5 example of the distances extracted from the BMU vector for the new accounting document
  • the present method is implemented using a computer program to perform operations on aspects of the present invention which can be written in any combination of one or more programming languages, including a programming language.
  • object oriented such as Java, Python, C ++, or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
  • Program code can be run entirely on the user's computer, partially on the user's computer, as a stand-alone software package, in part on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be established to an external computer (for example, through the Internet function using an Internet service provider).
  • LAN local area network
  • WAN wide area network
  • the computer running the program will consist of at least a standard processor (CPU) with its RAM memory of at least 30Giga bytes, a hard disk with a minimum capacity of 1Tera Byte. It could also be composed of a processor to execute several threads simultaneously

Abstract

The present invention relates to the field of computer-implemented methods for automatic allocation of accounting documents. More particularly, the present invention concerns a computer-implemented method by which an accounting document is automatically allocated to a pair of debtor/creditor accounts and by which the corresponding accounting entry is automatically effected in this pair of accounts. In particular, the present invention relates to a method for automatically allocating accounting documents based on a learning, based on an algorithm referred to as a self-organised map algorithm, which takes into account the past accounting entries.

Description

Méthode mise en œuvre par ordinateur pour l’allocation d’une pièce comptable à un couple de comptes débiteur/créditeur et l’écriture comptable Computer-implemented method for the allocation of an accounting document to a couple of debit / credit accounts and the accounting entry
Domaine technique de l'invention La présente invention se rapporte au domaine des méthodes mises en oeuvre par ordinateur pour l’allocation automatique des pièces comptables. Plus particulièrement, la présente invention concerne une méthode mise en oeuvre par ordinateur par laquelle une pièce comptable est automatiquement allouée à un couple de comptes débiteur/créditeur et par laquelle l’écriture comptable correspondante est automatiquement effectuée dans ce couple de comptes. En particulier, la présente invention se rapporte à une méthode pour l’allocation automatique de pièces comptables fondée sur un apprentissage basé sur un algorithme dit de carte auto-organisée qui prend en compte les écritures comptables du passé. État de la technique Technical Field of the Invention The present invention relates to the field of computer-implemented methods for the automatic allocation of accounting documents. More particularly, the present invention relates to a computer-implemented method by which an accounting document is automatically allocated to a pair of debtor / creditor accounts and by which the corresponding accounting entry is automatically made in this pair of accounts. In particular, the present invention relates to a method for the automatic allocation of accounting documents based on learning based on a so-called self-organized card algorithm which takes into account the accounting entries of the past. State of the art
La réalisation d’un bilan et d’un compte de pertes et profits requièrent le traitement de toutes les données comptables telles que les factures, les relevés de banques, les relevés de cartes bancaires, les justificatifs. Ce traitement exige un traitement manuel pour procéder à l’allocation des comptes en accord avec le plan comptable de chaque société. Ce traitement manuel est fastidieux, source de nombreuses erreurs et sujet à interprétations. Il est souvent réalisé par des aides comptables sous la supervision d’un expert- comptable. The production of a balance sheet and a profit and loss account requires the processing of all accounting data such as invoices, bank statements, bank card statements, supporting documents. This processing requires manual processing to proceed with the allocation of accounts in accordance with each company's chart of accounts. This manual processing is tedious, a source of numerous errors and subject to interpretation. It is often carried out by accounting assistants under the supervision of a chartered accountant.
La tenue d’une comptabilité est, dans la majorité de pays, une obligation légale pour toute entité réalisant des opérations commerciales. Correctement tenue, la comptabilité représente un véritable outil de preuve permettant de justifier et de suivre différentes opérations. En matière juridique, elle est un moyen de preuve recevable en justice en cas de litige entre commerçants. En matière fiscale, elle permet d’éviter une procédure d’imposition d’office calculée sur des bases recalculées par l’administration. Enfin, la comptabilité est un outil d’information essentiel au profit des tiers (dirigeants, associés, salariés, administrations et institutions, etc.). The keeping of accounts is, in the majority of countries, a legal obligation for any entity carrying out commercial operations. Correctly kept, the accounts represent a real tool of proof making it possible to justify and to follow up various operations. In legal matters, it is a means of proof admissible in court in the event of a dispute between traders. In tax matters, it makes it possible to avoid an automatic taxation procedure calculated on bases recalculated by the administration. Finally, accounting is an essential information tool for the benefit of third parties (managers, partners, employees, administrations and institutions, etc.).
La bonne tenue d’une comptabilité nécessite de réaliser systématiquement des opérations d’enregistrement d’informations relatives à l’activité exercée par l’entité : conserver un justificatif pour chacune des transactions effectuées, classer les justificatifs par ordre chronologique de date de paiement ou d’encaissement, tenir un livre de caisse, de poste ou de banque, avec mises à jour quotidiennes ou hebdomadaires selon le volume d'activités de l'entreprise, enregistrer chaque opération en inscrivant la date, le numéro de la pièce justificative, la nature de l’opération (par exemple achat, frais, encaissement, etc.), le montant correspondant et le solde du jour et enfin enregistrer régulièrement les mouvements bancaires (par exemple versements effectués par les débiteurs ou les payement au profit des créditeurs). The proper keeping of accounts requires systematically carrying out operations of recording information relating to the activity carried out by the entity: keeping a documentary evidence for each transaction carried out, classifying the supporting documents in chronological order of payment date or collection, keep a cash, post or bank book, with daily or weekly updates depending on the volume of business activities, record each transaction by entering the date, the number of the supporting document, the nature of the transaction (for example purchase, costs, collection, etc.), the corresponding amount and the balance of the day and finally regularly record bank movements (for example payments made by debtors or payments for the benefit of creditors).
Un plan comptable d’une entité est une liste de numéros de comptes où sont enregistrées les différentes opérations réalisés par cette entité. Chaque numéro de compte représente un poste permettant l’élaboration du bilan et du compte de résultat. Le plan comptable est ainsi composé de numéros de comptes et de leurs libellés. Les numéros de comptes sont regroupés en un certain nombre de classes de comptes. Usuellement, les enregistrements des opérations sont effectués sur la base des informations disponibles (factures, relevés bancaires, frais, etc.) sous forme papier ou électronique. Ils sont généralement réalisés manuellement par un comptable utilisant un logiciel de comptabilité qui permet de manier facilement le plan comptable de l’entreprise. La tenue de la comptabilité d’une entité est une action qui requiert deux phases : 1. la création du plan comptable de l’entité et 2. l’enregistrement régulier de toutes les opérations. La création du plan comptable est effectuée lors de la création de l’entité et le plan comptable n’est normalement plus modifié par la suite. L’enregistrement des opérations est effectué continuellement durant toute l’existence légale de l’entité. Cet enregistrement se fait pour une grande partie manuellement car cela requiert une lecture et une interprétation des informations contenues dans les pièces comptables ainsi que le respect des règles édictées par les tiers (par exemple fisc, organismes sociaux, banques, etc.). An entity's chart of accounts is a list of account numbers where the various operations carried out by this entity are recorded. Each account number represents an item allowing the preparation of the balance sheet and the income statement. The chart of accounts is thus made up of account numbers and their descriptions. Account numbers are grouped into a number of account classes. Usually, transaction records are made on the basis of available information (invoices, bank statements, fees, etc.) in paper or electronic form. They are generally carried out manually by an accountant using accounting software which makes it easy to operate the company's chart of accounts. Keeping the accounts of an entity is an action that requires two phases: 1. the creation of the entity's chart of accounts and 2. the regular recording of all transactions. The creation of the chart of accounts is carried out during the creation of the entity and the chart of accounts is not normally modified thereafter. The recording of transactions is carried out continuously throughout the legal existence of the entity. This recording is done for the most part manually because it requires reading and interpretation of the information contained in the accounting documents as well as compliance with the rules issued by third parties (for example tax authorities, social organizations, banks, etc.).
Il est important de souligner que l’immense majorité des pièces comptables sont présentées dans un format non structuré (par exemple papier, fax, e-mail, documents bureautiques) et cela particulièrement dans le cas de la comptabilité fournisseurs. It is important to stress that the vast majority of accounting documents are presented in an unstructured format (eg paper, fax, e-mail, office documents) and this particularly in the case of accounts payable.
Lorsque le nombre de transactions s’accroît (par exemple pour de grandes entités), le temps de traitement s’allonge ou le nombre de comptables augmente pour tenir les délais imposés par la loi : produire un bilan et un compte de résultat au moins une fois par an. De plus, les tiers concernés par les informations contenues dans le bilan et le compte de résultat n’en disposent que tardivement, au moins 3 mois après la clôture de l’exercice comptable. Bilans et compte de résultat, censés être utiles pour la prise de décision, ne sont ainsi que des photographies du passé. Dans le contexte économique actuel caractérisé par une vitesse de changement de plus en plus élevée, ce délai devient inacceptable. When the number of transactions increases (for example for large entities), the processing time lengthens or the number of accountants increases to meet the deadlines imposed by law: produce a balance sheet and an income statement at least one times a year. In addition, the third parties concerned by the information contained in the balance sheet and the income statement do not have it available until late, at least 3 months after the end of the financial year. Balance sheets and income statements, supposed to be useful for decision-making, are thus only photographs of the past. In the current economic context characterized by an increasingly high speed of change, this delay becomes unacceptable.
Les principales difficultés rencontrées par les comptables se résument en quelques points : - Le traitement de gros volumes de factures provenant de différents fournisseurs ou centres de coûts, dans de nombreux modèles / modèles et formats de livraison variés - courrier, fax, courrier électronique, EDI ; The main difficulties encountered by accountants can be summed up in a few points: - The processing of large volumes of invoices from different suppliers or cost centers, in many models / models and various delivery formats - mail, fax, email, EDI ;
- Les erreurs associées à la saisie manuelle des données - il est souvent nécessaire de saisir la même transaction plusieurs fois, ce qui augmente le coût de la transaction ; - Errors associated with manual data entry - it is often necessary to enter the same transaction several times, which increases the cost of the transaction;
- La complexité accrue des processus de saisie des données s'ils sont liés à différents centres de coûts et / ou impliquent une conversion de devise ; - Les délais allongés à cause des procédures de routage, de traitement et de validation manuelles impliquant des personnes appartenant à des départements différents et éventuellement à des pays différents - des ristournes pour paiement anticipé sont souvent perdues et des frais peuvent être engagés pour les paiements en retard ; - The increased complexity of data entry processes if they are linked to different cost centers and / or involve currency conversion; - Long delays due to manual routing, processing and validation procedures involving people from different departments and possibly different countries - early payment rebates are often lost and charges may be incurred for outgoing payments. delay;
- L’inefficacité due au temps passé à rassembler des documents physiques afin de faire correspondre les factures aux bons de commande, bons de livraison, contrats et enregistrements du système comptable ; - Inefficiency due to the time spent gathering physical documents to match invoices to purchase orders, delivery notes, contracts and records in the accounting system;
- Le risque de perte ou de dégradation des documents, car les documents sont reçus à plusieurs points d'entrée et peuvent être acheminés ou classés incorrectement ; - The risk of loss or damage to documents, as documents are received at multiple points of entry and may be routed or classified incorrectly;
- Les coûts associés à l'acheminement manuel des documents, à l'expédition, à la messagerie, au stockage, à l'archivage et à l'audit ; - Costs associated with the manual routing of documents, shipping, messaging, storage, archiving and auditing;
- L’impossibilité de contrôler facilement le traitement des factures et les paiements pour faire correspondre le flux de documents au système comptable. - The inability to easily control invoice processing and payments to match document flow to the accounting system.
Différentes mesures ont été proposées pour faciliter la fluidification des processus d’échange de données comptables et permettent ainsi de participer à une réduction du temps de traitement. Le stockage sous forme numérique améliore la capacité de recherche de ces données et accroît la sécurité lors des audits et des contrôles. Various measures have been proposed to facilitate the flow of accounting data exchange processes and thus help reduce processing time. Digital storage improves the retrieval capability of this data and increases security during audits and controls.
Néanmoins, l’interprétation des données reste pour une grande partie réalisée manuellement pour affecter l’allocation d’une pièce comptable à un couple de comptes débiteur/créditeur et pour effectuer l’écriture comptable correspondante de la saisie comptable. Nevertheless, the interpretation of the data remains for the most part carried out manually in order to assign the allocation of an accounting document to a pair of debtor / credit accounts and to make the corresponding accounting entry for the accounting entry.
Afin de circonvenir aux problèmes mentionnés ci-dessus, plusieurs solutions sont connues de l’art antérieur. Par exemple, dans le brevet US 8 126 785 B2 les données comptables sont classées afin de faciliter le traitement et la gestion des transactions. Des règles basées sur des bases de données sont implémentées pour classer les données relatives aux transactions dans des catégories comptables. Les informations comptables sont traitées en fonction des règles basées sur les données et classées en conséquence. Cette approche implique l'identification de règles particulières basées sur des bases de données à appliquer aux informations comptables, l'application des règles et le traitement. La principale difficulté de cette solution consiste à trouver les règles manuellement pour pouvoir les appliquer ensuite automatiquement. In order to circumvent the problems mentioned above, several solutions are known from the prior art. For example, in US Pat. No. 8,126,785 B2 the accounting data is classified in order to facilitate processing and transaction management. Database-based rules are implemented to classify transaction data into accounting categories. Accounting information is processed according to data-driven rules and classified accordingly. This approach involves the identification of particular database-based rules to be applied to accounting information, rule application and processing. The main difficulty with this solution is to find the rules manually so that you can then apply them automatically.
Dans la demande de brevet US 5 117356, l’automatisation de la production de la balance des comptes est abordée. Un système automatisé de tenue des comptes du Grand livre, c’est-à-dire l’ensemble des comptes débiteurs et des comptes créditeurs du plan comptable organisé dans une arborescence en « T », fournit les soldes à la minute près dans tous les comptes du Grand livre chaque fois que des données relatives à une transaction terminée sont saisies. Le respect des procédures comptables définissables par l'utilisateur est assuré par l'utilisation d'un tableau de contrôle comptable qui contient les codes symboliques utilisés par les procédures de tenue de documents pour autoriser et contrôler la création et la mise à jour des fichiers de données des comptes du grand livre et des enregistrements de transactions. Dans ce brevet, l’affectation automatique des comptes à partir des écritures n’est pas abordée. Cette phase reste à réaliser manuellement. In US patent application 5,117,356, the automation of the production of the account balance is discussed. An automated system for keeping the General Ledger accounts, that is to say all the accounts receivable and the accounts payable of the chart of accounts organized in a tree structure in "T", provides the balances to the minute in all the accounts. General Ledger accounts whenever data relating to a completed transaction is entered. Compliance with user-definable accounting procedures is ensured by the use of an accounting control table that contains symbolic codes used by document-keeping procedures to authorize and control the creation and updating of accounting files. general ledger account data and transaction records. In this patent, the automatic assignment of accounts from postings is not addressed. This phase remains to be carried out manually.
Dans la demande de brevet US 2005/0055289 A1 , un moteur de logiciel de comptabilité accepte l'entrée d'information textuelle ou numérique propre à l'entreprise définie par l'utilisateur et des données de comptabilité financière conventionnelles et les convertit en données informatiques multidimensionnelles sur un schéma en étoile indexées comme une entrée de journal. Sur demande de l'utilisateur, l'écriture de journal est analysée selon une méthodologie relationnelle ou une autre méthodologie de base de données pour générer des états comptables conventionnels tels que le Grand livre, le bilan, les états des flux de trésorerie, les états des profits et des pertes et les états du revenu gagné pour des périodes de temps spécifiées par l'utilisateur.In patent application US 2005/0055289 A1, an accounting software engine accepts the input of user-defined company specific textual or digital information and conventional financial accounting data and converts them into computer data multidimensional on a star schema indexed as a journal entry. Upon user request, the journal entry is analyzed using a relational methodology or other database methodology to generate conventional accounting statements such as General Ledger, Balance Sheet, Cash Flow Statements, Statements profit and loss and earned income statements for user-specified time periods.
Le moteur logiciel de comptabilité d'informations commerciales multidimensionnelles peut également générer des états comptables de données découpées selon une gamme d'informations numériques spécifiques à l'entreprise ou des états comptables pertinents pour un sujet spécifique à l'entreprise, des informations spécifiques pour une période de temps spécifiée, fournissant à l'utilisateur la sensibilité des différentes informations spécifiques sur les états comptables, afin que l'utilisateur puisse modifier ses pratiques commerciales en temps réel. Dans ce brevet, le principale développement tient à la manière de coder l’information comptable. En règle générale, l’information comptable entrée dans un système comptable est généralement codée à trois emplacements : dans un journal et dans deux comptes débiteur/créditeur du Grand livre lorsqu’on se réfère à une comptabilité en partie double. Dans cette demande de brevet, l’information comptable n’est plus codée dans les comptes crédit et débit, elle est uniquement codée dans le journal. Ce dernier devient la seule source d’information pour l’établissement de la comptabilité. A ce titre, la question de l’allocation débiteur/créditeur ne se pose pas et n’est donc pas abordée dans ce document. Multidimensional business information accounting software engine can also generate data accounting reports broken down into a range of company-specific digital information or accounting statements relevant to a company-specific subject, specific information for a specified period of time, providing the user with the sensitivity of different specific information on the accounting statements, so that the user can change their business practices in real time. In this patent, the main development relates to the way of coding the accounting information. Typically, accounting information entered into an accounting system is typically coded in three places: in one journal and in two general ledger receivables / payables when referring to double-entry accounting. In this patent application, the accounting information is no longer coded in the credit and debit accounts, it is only coded in the journal. The latter becomes the sole source of information for the establishment of the accounts. As such, the issue of debtor / creditor allocation does not arise and is therefore not addressed in this document.
Le brevet US 6330545 B1 propose une méthode et un système de comptabilité de l'information basé sur l'activité. Le système de comptabilisation des informations d'activité enregistre un tableau de titres de compte correspondant aux informations d'activité et exécute les procédures comptables sur la base des informations d'activité saisies et d'un titre de compte correspondant aux informations d'activité saisies. Le système comptable affiche les types d'activités du système, y compris les activités d'achat et d'acquisition, les activités de vente et de recettes, les activités de dépenses, les activités d'investissement et de financement, et les activités de production. Si un utilisateur sélectionne l'un des types d'activité affichés, le système comptable affiche un écran permettant à l'utilisateur de saisir des informations d'activité pour le type d'activité sélectionné. Le système comptable détermine si l'information de l'activité d'entrée est une activité interne ou une activité externe, exécute les procédures comptables sur la base du résultat déterminé et du tableau des titres des comptes. La méthode et le système de comptabilité permettent à ceux qui ne sont pas formés dans le domaine de la comptabilité de préparer des rapports comptables en saisissant simplement des informations sur l'activité commerciale. Les rapports comptables préparés comprennent des bilans, des états des résultats, des états des flux de trésorerie et d'autres rapports comptables qui fournissent différentes mesures de la valeur et de la performance globale de l'entreprise, sans avoir à passer par le processus complexe des écritures au journal. La méthode et le système comptables divulgués ne fournissent pas d'information financière. La méthode et le système de comptabilité divulgués ne fournissent pas d'information financière combinée à de l'information commerciale puisqu'ils ne recueillent que l'information sur les activités saisies par l'utilisateur. US Patent 6330545 B1 proposes an activity-based information accounting method and system. The activity information accounting system records a table of account titles corresponding to the activity information and performs the accounting procedures based on the entered activity information and an account title corresponding to the entered activity information. . The accounting system displays the types of system activities, including buying and acquiring activities, selling and revenue activities, spending activities, investing and financing activities, and trading activities. production. If a user selects one of the activity types displayed, the accounting system displays a screen allowing the user to enter activity information for the selected activity type. The accounting system determines whether the information of the input activity is an internal activity or an external activity, executes the accounting procedures on the basis of the determined result and the table of titles of the accounts. The accounting method and system allows those who are not trained in the field of accounting to prepare accounting reports by simply entering information on business activity. Accounting reports prepared include balance sheets, income statements, cash flow statements and other accounting reports that provide different measures of value and overall business performance, without having to go through the complex process of journal entries. The disclosed accounting method and system does not provide financial information. The disclosed accounting method and system does not provide financial information combined with business information since it only collects information on activities entered by the user.
Il existe par conséquent un besoin pour une méthode mise en oeuvre par ordinateur qui permet de manière sûre et rapide l’allocation automatique d’une pièce comptable à un couple de comptes débiteur/créditeur et d’effectuer automatiquement l’écriture comptable correspondante. There is therefore a need for a computer-implemented method which allows, in a safe and rapid manner, the automatic allocation of an accounting document to a pair of debit / credit accounts and to automatically carry out the corresponding accounting entry.
Résumé de l'invention Summary of the invention
Un but de la présente invention est donc de proposer une méthode mise en oeuvre par ordinateur pour l’allocation automatique d’un couple de comptes débiteur/créditeur à nouvelle pièce comptable et pour l’écriture comptable associée à cette pièce comptable permettant de surmonter les limitations mentionnées préalablement. An aim of the present invention is therefore to propose a method implemented by computer for the automatic allocation of a pair of debit / credit accounts to a new accounting document and for the accounting entry associated with this accounting document making it possible to overcome the limitations mentioned previously.
Selon l’invention, ces buts sont atteints grâce aux objets de la revendication indépendante. Les aspects plus spécifiques de la présente invention sont décrits dans les revendications dépendantes ainsi que dans la description. According to the invention, these aims are achieved through the objects of the independent claim. More specific aspects of the present invention are set out in the dependent claims as well as in the description.
De manière plus spécifique, un but de l’invention est atteint grâce à une méthode mise en oeuvre par ordinateur pour l’allocation automatique d’une pièce comptable à un couple de comptes débiteur/créditeur d’un plan comptable et pour l’écriture comptable associée à cette pièce comptable comprenant les étapes : a. Extraction d’une information « description » correspondant à un texte descriptif ainsi que d’une information « comptable » correspondant au couple de comptes débiteur/créditeur pour chacune d’un nombre Z d’écritures comptables enregistrées précédemment dans un ou plusieurs Grand livre comptable ; b. Transformation de l’information « description » d’un format alphanumérique en une valeur numérique de dimension K par l’intermédiaire d’une fonction de vectorisation de mots F pour chacune des Z écritures numériques extraites ; c. Attribution d’un vecteur V de dimension K+M à chacune des Z écritures comptables extraites, le vecteur V comprenant les K valeurs numériques de l’information « description » transformée par la fonction F et M distances entre le compte débiteur et le compte créditeur associées à l’écriture comptable et tous les autres comptes du plan comptable, la distance entre deux comptes étant définie comme le nombre de sauts qu’il faut effectuer dans l’arbre du plan comptable pour joindre deux comptes par le plus court chemin ; d. Apprentissage d’une carte auto-organisée C sur la base des vecteurs V, chaque nœud de la carte auto-organisée C correspondant à un vecteur poids P de dimension K+M ; e. Extraction d’une information « description » et d’une information « montant » d’une nouvelle pièce comptable ; f. Transformation de la valeur alphanumérique de l’information « description » de la nouvelle pièce comptable en une valeur numérique de dimension K par l’intermédiaire de la fonction de vectorisation de mots F ; g. Attribution d’un vecteur W de dimension K et comprenant les valeurs numériques de l’information « description » transformée par la fonction F ; h. Détermination d’un vecteur BMU de la carte C comme étant le vecteur poids P le plus proche de W ; i. Extraction du compte débiteur Dmin correspondant à la composante la plus petite parmi les composantes M du vecteur BMU correspondent aux composantes des comptes débiteurs ; j. Extraction du compte créditeur Cmin correspondant à la composante la plus petite parmi les composantes M du vecteur BMU correspondent aux composantes des comptes créditeurs ; k. Allocation à la nouvelle pièce comptable le couple de comptes débiteur/ créditeur Dmin / Cmin ; et More specifically, an object of the invention is achieved by virtue of a computer-implemented method for the automatic allocation of an accounting document to a pair of debit / credit accounts of a chart of accounts and for the entry. accountant associated with this accounting document comprising the steps: a. Extraction of "description" information corresponding to a descriptive text as well as "accounting" information corresponding to the pair of debtor / credit accounts for each of a number Z of entries accountants previously recorded in one or more General ledgers; b. Transformation of the “description” information from an alphanumeric format into a digital value of dimension K by means of a vectorization function of words F for each of the Z extracted digital writings; vs. Allocation of a vector V of dimension K + M to each of the Z accounting entries extracted, the vector V comprising the K digital values of the "description" information transformed by the function F and M distances between the debit account and the credit account associated with the accounting entry and all the other accounts of the chart of accounts, the distance between two accounts being defined as the number of jumps that must be made in the tree of the chart of accounts to join two accounts by the shortest route; d. Learning of a self-organized map C on the basis of vectors V, each node of the self-organized map C corresponding to a weight vector P of dimension K + M; e. Extraction of "description" information and "amount" information from a new accounting document; f. Transformation of the alphanumeric value of the “description” information of the new accounting document into a digital value of dimension K by means of the vectorization function of F words; g. Allocation of a vector W of dimension K and comprising the digital values of the “description” information transformed by the function F; h. Determination of a BMU vector of the map C as being the weight vector P closest to W; i. Extraction of the debit account Dmin corresponding to the smallest component among the components M of the vector BMU correspond to the components of the accounts receivable; j. Extraction of the credit account Cmin corresponding to the smallest component among the components M of the vector BMU correspond to the components of the accounts payable; k. Allocation to the new accounting document the pair of accounts receivable / creditor Dmin / Cmin; and
L. Ecriture de l’information « montant » extraite de la nouvelle pièce comptable dans le compte débiteur et le compte créditeur attribués à la pièce comptable. L. Writing the "amount" information extracted from the new accounting document in the debit account and the credit account assigned to the accounting document.
Grâce à la méthode de la présente invention, il est possible d’allouer automatiquement un couple de comptes débiteur/créditeur à une nouvelle pièce comptable sur la base des écritures comptables passées. De plus, après avoir déterminé le couple de comptes débiteur/créditeur pour la nouvelle pièce comptable, l’écriture comptable complète peut être effectuée automatiquement. La présente méthode ne permet pas uniquement un gain de temps grâce à l’automatisation de l’allocation des comptes mais elle permet surtout d’éviter des erreurs. En effet, les informations extraites de la nouvelle pièce comptable sont extraites et objectivées avant d’être comparées aux informations correspondantes des écritures comptables passées qui ont été organisées dans une carte auto-organisée. Ainsi, une bonne partie des erreurs d’allocation de comptes qui se produisent souvent et qui sont dues à une interprétation subjective erronée des informations contenues dans les pièces comptables peuvent être évitées. L’allocation de la nouvelle pièce comptable à un couple de comptes se fait donc sur la base d’informations objectives et non pas, comme dans les méthodes normalement utilisées, sur des informations subjectives. Thanks to the method of the present invention, it is possible to automatically allocate a pair of debit / credit accounts to a new accounting document on the basis of the past accounting entries. In addition, after determining the couple of accounts receivable / payable for the new accounting document, the complete accounting entry can be made automatically. This method not only saves time by automating account allocation, but above all avoids errors. In fact, the information extracted from the new accounting document is extracted and objectified before being compared with the corresponding information from past accounting entries which have been organized in a self-organized card. Thus, many of the account allocation errors that often occur and which are due to an incorrect subjective interpretation of the information contained in the accounting records can be avoided. The allocation of the new accounting document to a pair of accounts is therefore made on the basis of objective information and not, as in the methods normally used, on subjective information.
A noter que l’extraction des informations « description » des écritures comptables enregistrées dans un ou plusieurs Grands livres comptables peut se faire aisément pas des moyens connus de l’homme du métier. En particulier, cela peut se faire de manière automatisée si les Grands livres des années comptables précédentes existent sous forme électronique par exemple dans un logiciel de comptabilité. Néanmoins, il est important de remarquer que la présente méthode peut être mise en œuvre également si ces informations n’existent que sur papier. Dans ce cas, les informations peuvent être introduites à la main dans un logiciel de traitement de données ou elles peuvent être extraites automatiquement de copies scannées des Grands livres. D’une manière similaire, les informations « description » et « montant » de la nouvelle pièce comptable peuvent être entrées manuellement dans un logiciel mettant en œuvre la présente invention ou extraites de copies scannées. It should be noted that the extraction of “description” information from the accounting entries recorded in one or more General ledgers can easily be done by means known to those skilled in the art. In particular, this can be done in an automated manner if the Ledgers of previous accounting years exist in electronic form, for example in accounting software. However, it is important to note that this method can be implemented also if this information exists only on paper. In this case, the information can be entered by hand into data processing software or it can be automatically extracted from scanned copies of Ledgers. Similarly, the "description" and "amount" information of the new accounting document can be entered manually into software implementing the present invention or extracted from scanned copies.
De plus, il est important de noter également que la présente méthode de dépend pas du format du plan comptable sur lequel sont basés les Grands livres des années comptables précédentes. Il suffit qu’il soit possible de définir la notion de distance entre comptes pour pouvoir mettre en œuvre la présente méthode. In addition, it is important to also note that this method does not depend on the format of the chart of accounts on which the Ledgers of previous accounting years are based. It is sufficient that it is possible to define the concept of distance between accounts in order to be able to implement this method.
L’apprentissage de la carte auto-organisée C à l’étape d. peut être mis en œuvre partout algorithme d’apprentissage non-supervisé connus de l’art antérieur, tel que par exemple, l’algorithme dit de Kohonen. Learning the self-organized map C in step d. can be implemented anywhere unsupervised learning algorithm known from the prior art, such as for example, the so-called Kohonen algorithm.
Dans un tel algorithme, la carte auto-organisée C est composée d’une grille de neurones de faible dimension. Quand la grille est unidimensionnelle, chaque neurone a deux voisins. Quand la grille est bidimensionnelle, l’arrangement des neurones se fait d’une façon rectangulaire où chaque neurone possède 4 voisins (topologie rectangulaire) ou d’une façon hexagonale où chaque neurone possède 6 voisins (topologie hexagonale). Les neurones sont reconnus par leur numéro et leur emplacement sur la grille. In such an algorithm, the self-organized map C is composed of a grid of low-dimensional neurons. When the grid is one-dimensional, each neuron has two neighbors. When the grid is two-dimensional, the arrangement of neurons is done in a rectangular way where each neuron has 4 neighbors (rectangular topology) or in a hexagonal way where each neuron has 6 neighbors (hexagonal topology). Neurons are recognized by their number and their location on the grid.
Les vecteurs de données V sont projetés de leur espace initial, ou espace d’entrée, vers la carte ou espace de sortie. A chaque neurone de la carte est associé un vecteur référent, appelé aussi vecteur prototype ou prototype, appartenant à l’espace d’entrée. En désignant par P le nombre total des neurones de la carte, le vecteur référent du neurone p de dimension N est désigné par : Wp dvec p G {1 , ..., P} et wp E RN The data vectors V are projected from their initial space, or input space, to the card or output space. Each neuron on the map is associated with a referent vector, also called a prototype or prototype vector, belonging to the input space. By denoting by P the total number of neurons in the map, the referent vector of the neuron p of dimension N is denoted by: Wp with p G {1, ..., P} and w p ER N
L’objectif de l’apprentissage de la carte consiste à mettre à jour les vecteurs référents de façon à approximer au mieux la distribution des vecteurs d’entrée tout en reproduisant l’auto-organisation des neurones de la carte. L’apprentissage de la carte se fait en mode séquentiel appelé aussi incrémental, ou en mode différé (batch). The goal of map training is to update the referent vectors to best approximate the distribution of the input vectors while reproducing the self-organization of the map neurons. The card is learned in sequential mode, also called incremental, or in deferred mode (batch).
Chaque itération t de l’apprentissage séquentiel comprend deux étapes. La première étape consiste à choisir au hasard une observation x(t) de l’ensemble W, et à la présenter au réseau dans le but de déterminer son neurone vainqueur. Le neurone vainqueur (Best Matching Unit), d’une observation est le neurone dont le vecteur référent en est le plus proche au sens d’une distance donnée (ex : distance euclidienne). Si c est le neurone vainqueur du vecteur x(t), c est déterminé comme suit :
Figure imgf000013_0001
Each iteration t of sequential learning comprises two stages. The first step is to randomly choose an observation x (t) from the set W, and present it to the network in order to determine its winning neuron. The winning neuron (Best Matching Unit) of an observation is the neuron whose referent vector is closest to it within a given distance (eg: Euclidean distance). If c is the winning neuron of the vector x (t), c is determined as follows:
Figure imgf000013_0001
Dans la deuxième étape, le neurone vainqueur est activé. Son vecteur référent est mis à jour pour se rapprocher du vecteur d’entrée présenté au réseau. Cette mise à jour ne concerne pas seulement le neurone vainqueur comme dans les méthodes de l’apprentissage par compétition (Winner take ail), mais aussi les neurones qui lui sont voisins et qui voient alors leurs vecteurs référents s’ajuster vers ce vecteur d’entrée. L’amplitude de cet ajustement est déterminée par la valeur d’un pas d’apprentissage a(t) et la valeur d’une fonction de voisinage h(t). In the second step, the winning neuron is activated. Its referent vector is updated to approximate the input vector presented to the network. This update does not only concern the winning neuron as in the methods of competitive learning (Winner take ail), but also the neurons which are neighboring to it and which then see their referent vectors adjust towards this vector of Entrance. The magnitude of this adjustment is determined by the value of a learning step a (t) and the value of a neighborhood function h (t).
Le paramètre a(t) règle la vitesse de l’apprentissage. Il est initialisé avec une grande valeur au début puis décroît avec les itérations en vue de ralentir au fur et à mesure le processus d’apprentissage. La fonction h(t) définit l’appartenance au voisinage. Elle dépend à la fois de l’emplacement des neurones sur la carte et d’un certain rayon de voisinage. Dans les premières itérations, le rayon de voisinage est assez large pour mettre à jour un grand nombre de neurones voisins du neurone vainqueur, mais ce rayon se rétrécit progressivement pour ne contenir que le neurone vainqueur avec ses voisins immédiats, ou bien même le neurone vainqueur seulement. La règle de mise à jour des vecteurs référents est la suivante :
Figure imgf000014_0001
où c est le neurone vainqueur du vecteur d’entrée x(t) présenté au réseau à l’itération t et h est la fonction de voisinage qui définit la proximité entre les neurones c et p.
The parameter a (t) regulates the speed of learning. It is initialized with a large value at the beginning then decreases with the iterations in order to slow down as the learning process progresses. The function h (t) defines membership in the neighborhood. It depends both on the location of the neurons on the map and on a certain neighborhood radius. In the first iterations, the neighborhood radius is large enough to update a large number of neighboring neurons to the winning neuron, but this radius gradually narrows to contain only the winning neuron with its neighbors. immediate, or even the winning neuron only. The rule for updating the referent vectors is as follows:
Figure imgf000014_0001
where c is the winning neuron of the input vector x (t) presented to the network at iteration t and h is the neighborhood function which defines the proximity between neurons c and p.
Une fonction de voisinage entre le neurone vainqueur c et un neurone p de la carte vaut 1 si le neurone p se trouve à l’intérieur du carré centré sur le neurone c et 0 dans les autres cas. Le rayon de ce carré est appelé rayon de voisinage. Il est large au début, puis se rétrécit avec les itérations pour contenir seulement le neurone c avec ses voisins immédiats à la fin de l’apprentissage ou même seulement le neurone c. Une fonction de voisinage plus flexible et plus commune est la fonction gaussienne définie ci- dessous :
Figure imgf000014_0002
où rc et rp sont respectivement l’emplacement du neurone c et du neurone p sur la carte, et o(t) est le rayon du voisinage à l’itération t du processus d’apprentissage.
A neighborhood function between the winning neuron c and a neuron p of the map is equal to 1 if the neuron p is located inside the square centered on the neuron c and 0 in the other cases. The radius of this square is called the neighborhood radius. It is wide at the start, then narrows with iterations to contain only neuron c with its immediate neighbors at the end of learning or even just neuron c. A more flexible and common neighborhood function is the Gaussian function defined below:
Figure imgf000014_0002
where r c and r p are respectively the location of neuron c and neuron p on the map, and o (t) is the radius of the neighborhood at iteration t of the learning process.
Avec une telle fonction de voisinage, l’amplitude de l’ajustement est graduée selon l’éloignement du neurone vainqueur qui réserve à lui-même l’amplitude maximale. Le résultat de cet apprentissage non supervisé est la projection non linéaire de l’ensemble des observations sur la carte. Chaque observation est attribuée à son neurone vainqueur. Outre la tâche de quantification, cette projection préserve la topologie des données grâce à l’utilisation de la fonction de voisinage. Deux neurones voisins sur la carte représenteront des observations proches dans l’espace de données. With such a neighborhood function, the amplitude of the adjustment is graduated according to the distance from the victorious neuron which reserves the maximum amplitude for itself. The result of this unsupervised learning is the nonlinear projection of all observations on the map. Each observation is attributed to its winning neuron. In addition to the quantification task, this projection preserves the topology of the data through the use of the neighborhood function. Two neighboring neurons on the map will represent nearby observations in the data space.
Une variante de l’apprentissage est dite « en mode différé ». En mode différé, à chaque itération t, toutes les observations sont présentées au réseau et la mise à jour des vecteurs prototypes se fait en prenant en compte toutes les observations de l’ensemble de données. Chaque vecteur prototype est une moyenne pondérée des vecteurs d’observations A variant of learning is said to be “in deferred mode”. In deferred mode, at each iteration t, all the observations are presented to the network and the updating of the prototype vectors is done by taking into account all the observations of the dataset. Each prototype vector is a weighted average of the observation vectors
(xi, i e {1 , . . . , n}) quand le carré de la distance euclidienne est utilisée pour le calcul du neurone vainqueur, les poids correspondants étant les valeurs de la fonction de voisinage h(t) . (xi, i e {1,..., n}) when the square of the Euclidean distance is used for the computation of the winning neuron, the corresponding weights being the values of the neighborhood function h (t).
La règle de mise à jour des vecteurs prototypes est donnée par :
Figure imgf000015_0001
où h est la valeur de la fonction de voisinage entre le neurone vainqueur a du vecteur x, et le neurone p.
The rule for updating prototype vectors is given by:
Figure imgf000015_0001
where h is the value of the neighborhood function between the winning neuron a of vector x, and the neuron p.
La mise à jour des vecteurs prototypes peut être formulée autrement en utilisant le fait que les observations qui ont le même neurone vainqueur ont la même valeur pour la fonction de voisinage et appartiennent à la région de Voronoï dont le centre est leur neurone vainqueur :
Figure imgf000015_0002
où ni est le nombre d’observations appartenant à la région de Voronoï représentée par le neurone / et x/ est la moyenne des observations de cette même région. Vers la fin de l’apprentissage, quand le rayon de voisinage devient trop petit pour activer seulement le neurone vainqueur, chaque vecteur prototype constitue le centre de gravité des observations qu’il représente et on retombe alors sur l’algorithme des centres-mobiles, ce qui garantit une meilleure approximation de la fonction de densité des observations. De plus, avec l’absence du pas d’apprentissage, cet algorithme ne présente pas de problèmes de convergence. Cependant, le mode différé pourrait causer des torsions dans les cartes à grandes dimensions. Pour cette raison, on procède à une analyse en composantes principales pour initialiser les vecteurs prototypes.
The updating of the prototype vectors can be formulated in another way by using the fact that the observations which have the same victorious neuron have the same value for the neighborhood function and belong to the Voronoi region whose center is their victorious neuron:
Figure imgf000015_0002
where ni is the number of observations belonging to the Voronoi region represented by the neuron / and x / is the average of the observations of this same region. Towards the end of the training, when the neighborhood radius becomes too small to activate only the victorious neuron, each prototype vector constitutes the center of gravity of the observations that it represents and we then fall back on the algorithm of mobile centers, which guarantees a better approximation of the density function of the observations. Moreover, with the absence of the learning step, this algorithm does not present convergence problems. However, the deferred mode could cause twists in large maps. For this reason, a principal component analysis is carried out to initialize the prototype vectors.
De manière avantageuse, la carte auto-organisée est une carte bidimensionnelle ou tridimensionnelle. L’initialisation de la carte C avant la procédure d’apprentissage en tant que telle peut être effectuée de plusieurs façons. Par exemple, une première méthode d’initialisation consiste à assigner un vecteur de poids P initial à chaque nœud de la carte auto-organisée C. Cette d'attribution initiale des vecteurs de poids peut être par exemple une attribution aléatoire d'un nombre à chaque vecteur scalaire des vecteurs de poids, sans stimulation. Le terme "aléatoire" désigne probabilité égale pour n'importe lequel d'un ensemble de résultats possibles. La valeur numérique de ces valeurs scalaires assignées au hasard peut être approximativement limitée à la borne inférieure et supérieure par l'extrema correspondant observé dans les vecteurs d'entraînement, c’est-à-dire les vecteurs V. Une autre méthode d’initialisation des vecteurs de poids P comprend une variation systématique, par exemple une variation linéaire, dans la plage de chaque dimension de chaque vecteur de poids pour recouper approximativement la plage correspondante observée dans les vecteurs d'entraînement V. Dans une autre méthode d'initialisation, les vecteurs poids sont initialisés par les valeurs des vecteurs ordonnés le long d'un sous-espace bidimensionnel traversé par les deux vecteurs propres principaux des vecteurs d'entraînement V obtenus par des méthodes d'orthogonalisation bien connues dans l'art, par exemple par l'orthogonalisation dite de Gram-Schmidt. Dans une autre procédure d'initialisation, les valeurs initiales sont fixées sur des échantillons choisis au hasard parmi les vecteurs d’apprentissage V. Advantageously, the self-organized map is a two-dimensional or three-dimensional map. There are several ways to initialize the C card prior to the actual learning procedure. For example, a first initialization method consists in assigning an initial weight vector P to each node of the self-organized map C. This initial allocation of the weight vectors can for example be a random allocation of a number to each scalar vector of the weight vectors, without stimulation. The term "random" refers to equal probability for any of a set of possible outcomes. The numerical value of these randomly assigned scalar values can be approximately limited to the lower and upper bound by the corresponding extrema observed in the training vectors, i.e. the V vectors. Another method of initialization weight vectors P includes a systematic variation, for example a linear variation, in the range of each dimension of each weight vector to approximately intersect the corresponding range observed in the training vectors V. In another initialization method, the weight vectors are initialized by the values of the vectors ordered along a two-dimensional subspace crossed by the two main eigenvectors of the training vectors V obtained by orthogonalization methods well known in the art, for example by the so-called Gram-Schmidt orthogonalization. In another initialization procedure, the initial values are fixed on samples chosen at random from the training vectors V.
La détermination du vecteur BMU de la carte auto-organisée C peut se faire selon plusieurs critères bien connus de l’homme du métier. Cela peut par exemple être effectué sur la base, d’une distance par exemple la distance Euclidienne minimale entre tous les vecteurs poids P de la carte auto-organisée C et le vecteur W. D’autres méthodes peuvent pour la détermination de BMU telles que celles utilisant la corrélation entre vecteurs qui présente l’avantage d’offrir plus de robustesse au décalage entre vecteurs, l’écart angulaire entre vecteurs qui offre l’avantage de mettre l’accent sur la longueur mutuelle des vecteurs pour autant que l’information soit portée par ces grandeurs, la mesure de distance de Minkowsky qui est une généralisation de la mesure de distance euclidienne et qui est avantageuse lorsque les vecteurs portent des données de nature qualitatives peuvent être aussi mises en œuvre. The determination of the BMU vector of the self-organized map C can be carried out according to several criteria well known to those skilled in the art. This can for example be done on the basis of a distance for example the minimum Euclidean distance between all the weight vectors P of the self-organized map C and the vector W. Other methods can for the determination of BMU such as those using the correlation between vectors which has the advantage of offering more robustness to the offset between vectors, the angular difference between vectors which offers the advantage of emphasizing the mutual length of the vectors as long as the information is carried by these quantities, the Minkowsky distance measure which is a generalization of the Euclidean distance measure and which is advantageous when the vectors carry data of a qualitative nature can also be implemented.
Dans un mode de réalisation préféré de la présente invention, la distance entre deux comptes est déterminée par le nombre de sauts qu’il faut effectuer dans l’arbre du plan comptable pour joindre deux comptes par le plus court chemin. Ceci permet tout d’abord de définir une distance qui pourra être mesurée entre deux comptes et de déterminer facilement et rapidement la distance entre deux comptes indépendamment de l’organisation exacte du plan comptable sous-jacent. In a preferred embodiment of the present invention, the distance between two accounts is determined by the number of hops that must be made in the chart of accounts tree to join two accounts by the shortest route. This first allows you to define a distance that can be measured between two accounts and to easily and quickly determine the distance between two accounts regardless of the exact organization of the underlying chart of accounts.
Dans un autre mode de réalisation préféré de la présente invention, la détermination du vecteur BMU à l’étape h. est effectuée sur la base d’une mesure de distance euclidienne entre le vecteur BMU et le vecteur W. La distance Euclidienne entre vecteurs est une mesure qui peut être déterminée très rapidement quelle que soit la dimension de la carte auto-organisée C ce qui permet une mise en œuvre rapide de la présente méthode et donc une allocation également rapide de la nouvelle pièce comptable. De plus, la détermination d’une distance Euclidienne entre deux vecteurs ne demande que peu de ressources de calcul. Elle peut donc se faire sur des ordinateurs de bureau ordinaires. In another preferred embodiment of the present invention, determining the BMU vector in step h. is performed on the basis of a Euclidean distance measurement between the BMU vector and the W vector. The Euclidean distance between vectors is a measurement that can be determined very quickly regardless of the dimension of the self-organized map C which allows rapid implementation of this method and therefore also rapid allocation of the new accounting document. In addition, determining an Euclidean distance between two vectors requires only few computational resources. It can therefore be done on ordinary desktop computers.
Dans un mode de réalisation préféré suivant de la présente invention, la carte auto-organisée C est mise à jour après chaque nouvelle écriture comptable, après chaque dixième nouvelle écriture comptable ou après chaque centième nouvelle écriture comptable. Cela permet que la carte auto organisée C et donc l’allocation des comptes pour les nouvelles pièces comptables s’améliorent sur la base des nouvelles pièces comptables qui ont déjà été allouées. La présente méthode devient donc « self-learning ». Plus le nombre de pièces comptables traitées par la présente méthode augmente plus cette dernière devient précise. Dans un autre mode de réalisation préféré de la présente invention, l’étape b. est réalisée à l’aide d’une fonction F dite de hashage. Cette fonction permet de gérer des variables catégorielles, c’est-à-dire des variables qui n’ont pas de représentation numérique naturelle. La fonction de hashage offre une solution pour convertir les variables catégorielles en variables numériques. Il y a plusieurs façons de le faire. Le « Label encoding » où l’on choisit un nombre arbitraire pour chaque catégorie. L’encodage « 1 parmi N » où l’on crée une colonne binaire par catégorie. Le « Hasking trick » où l’on trouve un sous- espace de petite dimension qui correspond aux données. Le « Binning optimal » lorsque l’on s’appuie sur des apprenants tels que LightGBM ouIn a following preferred embodiment of the present invention, the self-organized card C is updated after each new accounting entry, after every tenth new accounting entry or after every hundredth new accounting entry. This allows the self-organized card C and therefore the allocation of accounts for new accounting documents to improve on the basis of the new accounting documents which have already been allocated. The present method therefore becomes “self-learning”. The more the number of accounting documents processed by this method increases, the more precise it becomes. In another preferred embodiment of the present invention, step b. is carried out using a so-called hash function F. This function is used to manage categorical variables, that is to say variables which do not have a natural numerical representation. The hash function offers a solution to convert categorical variables into numeric variables. There are several ways to do this. The “Label encoding” where we choose an arbitrary number for each category. The "1 among N" encoding where we create a binary column per category. The “Hasking trick” where we find a small-dimensional subspace that corresponds to the data. The "optimal binning" when relying on learners such as LightGBM or
CatBoost. Le « Codage cible » où l’on calcule la moyenne de la valeur cible par catégorie. CatBoost. The "Target coding" where we calculate the average of the target value by category.
Chacune de ces méthodes a ses avantages et ses inconvénients, et cela dépend généralement des données et des besoins. Si une variable comporte de nombreuses catégories, un schéma de codage à « 1 parmi N » produira plusieurs colonnes pouvant entraîner des problèmes de mémoire. Le « Hashing trick » est une solution efficace mais qui requiert l’ajustement de plusieurs paramètres. Each of these methods has its advantages and disadvantages, and it usually depends on the data and the needs. If a variable has many categories, a "1 of N" coding scheme will produce multiple columns that can cause memory problems. The "Hashing trick" is an effective solution but requires the adjustment of several parameters.
Grâce à une méthode de hashage, il est aisé de transformer une information alphanumérique en une information numérique. De plus, la fonction de hashage spécifique peut être choisie en relation avec le nombre de données comprises dans les écritures comptables passées. Si le nombre de mots correspondant aux informations « description » est petit il est suffisant que la fonction de hashage transforme ces mots en une valeur numérique avec un nombre petit de chiffres par exemple 128 ou 256 chiffres. Par contre si le nombre de mots est important, il est préférable que la fonction de hashage vectorise les mots dans des valeurs numériques avec au minimum 512, 1024 ou 2048 chiffres. Thanks to a hash method, it is easy to transform alphanumeric information into digital information. In addition, the specific hash function can be chosen in relation to the number of data included in the past accounting entries. If the number of words corresponding to the “description” information is small, it is sufficient for the hash function to transform these words into a numerical value with a small number of digits, for example 128 or 256 digits. On the other hand, if the number of words is important, it is preferable that the hash function vectorizes the words in numerical values with at least 512, 1024 or 2048 digits.
Dans un mode de réalisation préféré suivant de la présente invention, les informations « description » et « montant » sont extraites depuis une copie scannée de la nouvelle pièce comptable. Ceci permet d’atteindre une allocation de la nouvelle pièce comptable totalement automatisée. Brève description des dessins In a following preferred embodiment of the present invention, the “description” and “amount” information is extracted from a scanned copy of the new accounting document. This makes it possible to achieve an allocation of the new fully automated accounting document. Brief description of the drawings
Les particularités et les avantages de la présente invention apparaîtront avec plus de détails dans le cadre de la description qui suit avec un exemple de réalisation donné à titre illustratif et non limitatif en référence aux onze dessins ci-annexés qui représentent : The peculiarities and advantages of the present invention will appear in more detail in the context of the description which follows with an exemplary embodiment given by way of illustration and not by way of limitation with reference to the eleven appended drawings which represent:
- La figure 1 représente un schéma fonctionnel d’une méthode selon un mode de réalisation de la présente invention ; - Figure 1 shows a functional diagram of a method according to an embodiment of the present invention;
- La figure 2 représente un schéma fonctionnel d’un exemple de mise en oeuvre de l’étape d’extraction des écritures comptables passées ; - La figure 3 représente un schéma d’un processeur de transaction utilisé dans le mode de réalisation de la présente invention ; - Figure 2 shows a functional diagram of an exemplary implementation of the step of extracting past accounting entries; - Figure 3 shows a diagram of a transaction processor used in the embodiment of the present invention;
- La figure 4 représente un exemple de la partie « Bilan » d’un plan comptable ; - Figure 4 shows an example of the "Balance sheet" part of a chart of accounts;
- Les figures 5a et 5b représentent un exemple de la partie « Compte de résultat» d’un plan comptable ; - Figures 5a and 5b show an example of the "Income statement" part of a chart of accounts;
- La figure 6 illustre la distance entre deux comptes ; - Figure 6 illustrates the distance between two accounts;
- La figure 7 illustre l’étape d’apprentissage de la carte auto organisée C ; - Figure 7 illustrates the learning step of the self-organized card C;
- La figure 8 représente un schéma fonctionnel de l’adaptation de la carte auto-organisée ; - Figure 8 shows a functional diagram of the adaptation of the self-organized map;
- La figure 9 illustre les deux sous-groupes de composantes des vecteurs poids P de la carte auto-organisée ; FIG. 9 illustrates the two subgroups of components of the weight vectors P of the self-organized map;
- La figure 10 illustre la détermination du vecteur BMU correspondant à la nouvelle pièce comptable ; et - La figure 11 illustre la détermination du couple de comptes débiteurs/créditeurs sur la base du vecteur BMU. FIG. 10 illustrates the determination of the BMU vector corresponding to the new accounting document; and FIG. 11 illustrates the determination of the couple of accounts receivable / payable on the basis of the vector BMU.
Description détaillée d’un mode de réalisation Detailed description of an embodiment
L’invention présentée ici consiste à permettre une allocation des comptes débiteurs et créditeurs à partir des données extraites des pièces comptables et notamment des descriptions associées à chaque pièce. Cette approche requiert la modélisation des allocations effectuées par le comptable lors des exercices précédent l’exercice en cours. Le principe de l’invention repose donc sur le constat que les écritures comptables réalisées par une entité se répètent d’année en année. Chaque écriture liée à une pièce comptable provoque le mouvement de deux comptes : le compte débiteur et le compte créditeur ou couple comptes débiteur/compte créditeur. C’est ce que l’on nomme l’allocation d’une pièce comptable à un couple de comptes. The invention presented here consists of allowing an allocation of accounts receivable and payable from data extracted from accounting documents and in particular from the descriptions associated with each document. This approach requires the modeling of the allocations made by the accountant during the fiscal years preceding the current fiscal year. The principle of the invention is therefore based on the observation that the accounting entries made by an entity are repeated from year to year. Each entry linked to an accounting document causes the movement of two accounts: the debit account and the credit account or pair of debit accounts / accounts payable. This is called allocating an accounting document to a couple of accounts.
Chaque allocation résulte de l’analyse, par le comptable, des informations dites « comptables » contenues dans les pièces comptables (client, fournisseur, montant individuel par article, montant total, TVA, taux de TVA, etc,) mais aussi d’éléments « contextuels » relatif à la pièce comptable (descriptifs, vendeur, commentaires, etc.). L’ensemble de ces informations constitue un espace contextuel pluridimensionnel dans lequel chaque pièce peut être représentée par un point ou un vecteur. Each allocation results from the analysis, by the accountant, of the so-called "accounting" information contained in the accounting documents (customer, supplier, individual amount per item, total amount, VAT, VAT rate, etc.) but also of elements “Contextual” relating to the accounting document (descriptions, seller, comments, etc.). All of this information constitutes a multidimensional contextual space in which each part can be represented by a point or a vector.
La présente invention repose sur l’idée selon laquelle il est possible de cartographier les allocations des couples comptes débiteurs/créditeurs réalisées par le passé et de s’en servir pour déterminer automatique l’allocation des couples débiteurs/créditeurs pour les nouvelles pièces comptables. Comme il sera expliqué en détail ci-dessous, la cartographie repose sur une projection non-linéaire des points de l’espace contextuel multidimensionnel vers une carte en 2 dimensions. The present invention is based on the idea that it is possible to map the allocations of the debtor / creditors pairs made in the past and to use them to automatically determine the allocation of the debtor / creditors pairs for the new accounting documents. As will be explained in detail below, the mapping relies on a non-linear projection of points from the multidimensional contextual space to a 2-dimensional map.
La figure 1 présente un mode de réalisation de la présente invention. La méthode mise en oeuvre par ordinateur pour l’allocation automatique d’une pièce comptable à un couple de comptes débiteur/compte créditeur selon ce mode de réalisation comprend les étapes suivantes : Figure 1 shows an embodiment of the present invention. The computer-implemented method for the automatic allocation of a accounting document to a pair of accounts receivable / accounts payable according to this embodiment comprises the following steps:
110 : Extraction des écritures comptables réalisées dans le passé ; 110: Extraction of accounting entries made in the past;
120 : Conversion de chaque écriture comptable passée en un vecteur V d’un espace contextuel ; 120: Conversion of each accounting entry made into a vector V of a contextual space;
130 : Apprentissage d’une carte auto-organisée C sur la base des vecteurs V des écritures comptables passées ; 130: Learning of a self-organized map C on the basis of vectors V of past accounting entries;
140 : Extraction d’une nouvelle pièce comptable l’information «description» et l’information «montant» ; 150 : Conversion de l’information «description» de la nouvelle pièce comptable en un vecteur W ; 140: Extraction of the "description" and "amount" information from a new accounting document; 150: Conversion of the "description" information of the new accounting document into a vector W;
160 : Détermination du vecteur BMU de la carte auto-organisée le plus proche du vecteur W ; 160: Determination of the BMU vector of the self-organized map closest to the vector W;
170 : Extraction sur la base des composantes du vecteur BMU des comptes débiteurs et créditeurs les plus proches ; 170: Extraction on the basis of the components of the BMU vector of the closest accounts receivable and payable;
180 : Allocation à la nouvelle pièce du couple de comptes débiteur/ créditeur extraits à l’étape précédentes ; 180: Allocation to the new document of the pair of debtor / creditors extracted in the previous step;
190 : Ecriture de l’information «montant» de la nouvelle pièce comptable dans les comptes débiteur et créditeur alloués. II est évident que ces étapes peuvent être mises en œuvre dans un ordre différent. Il est par exemple tout à fait possible d’effectuer l’apprentissage de la carte auto-organisée C sur la base des écritures comptable passées avant d’extraire les informations de la nouvelle pièce comptable. Un exemple de réalisation de l’étape 110 de la figure 1 , c’est-à-dire l’extraction des écritures comptables réalisées dans le passé est illustré dans la figure 2. Cette extraction peut se faire par exemple sur la base des informations contenues dans le logiciel de comptabilité de l’entité. Les écritures comptables à extraire sont par exemples contenues dans le Grand Livre de la comptabilité des années précédentes. Comme illustré dans la figure 2, les écritures comptables 220 sont lues et analysées par un processeur de transaction 230. Ce dernier recherche les données des écritures comptables contenant la date de l’écriture, le numéro de compte débiteur affecté à l’écriture, le numéro de compte créditeur affecté à l’écriture, la description de l’écriture et le montant. Le processeur de transaction 230 écrit les données correspondant à son analyse dans une base de données 240 qui peut être structurée comme illustré dans le tableau 1. A la fin du traitement d’extraction des données comptables des années précédentes, la base de données 240 contient toutes les données correspondant aux écritures des années choisies et issues du logiciel de comptabilité. Bien entendu, il est possible de mettre en oeuvre l’étape 110 d’une autre manière connue d’un homme du métier. Il est par exemple possible d’introduire manuellement dans la base de données 240 les écritures effectuées dans le passé. Il est ainsi possible de mettre en oeuvre la présente invention même si la comptabilité de l’entité a été jusqu’à présent effectuée sur papier. Il serait également possible de scanner la comptabilité papier et d’extraire des documents scannés les données nécessaires à l’établissement de la base de données 240.
Figure imgf000022_0001
Tableau 1 : exemple de données comptables extraites des écritures de comptabilité passées
190: Writing of the “amount” information of the new accounting document in the allocated debit and credit accounts. It is obvious that these steps can be implemented in a different order. It is for example quite possible to carry out the learning of the self-organized card C on the basis of the accounting entries made before extracting the information from the new accounting document. An exemplary embodiment of step 110 of FIG. 1, that is to say the extraction of accounting entries made in the past is illustrated in FIG. 2. This extraction can be done for example on the basis of the information. contained in the entity's accounting software. The accounting entries to be extracted are for example contained in the General Ledger of the accounts for previous years. As illustrated in FIG. 2, the accounting entries 220 are read and analyzed by a transaction processor 230. The latter searches for the data of the accounting entries containing the date of the entry, the debit account number assigned to the entry, the credit account number assigned to the entry, the description of the entry and the amount. The transaction processor 230 writes the data corresponding to its analysis in a database 240 which can be structured as shown in Table 1. At the end of the processing of extracting the accounting data from the previous years, the database 240 contains all the data corresponding to the entries for the years chosen and taken from the accounting software. Of course, it is possible to implement step 110 in another manner known to a person skilled in the art. It is for example possible to manually introduce into the database 240 the writings made in the past. It is thus possible to implement the present invention even if the accounting of the entity has hitherto been carried out on paper. It would also be possible to scan the paper accounts and extract from the scanned documents the data necessary for the establishment of the database 240.
Figure imgf000022_0001
Table 1: example of accounting data extracted from past accounting entries
Les données comptables extraites des écritures effectuées dans le passé doivent être converties pour faciliter leur compréhension par un système additionnel. Cette opération est réalisée par exemple par le processeur de transactions 230 représenté sur la figure 3. Comme illustré dans cette figure, le processeur de transactions 230 est avantageusement composé de deux mécanismes qui réalisent la conversion des numéros de comptes en distances entre comptes (étape 231) et la conversion des mots contenus dans le champ « description » en valeurs numériques par une fonction de hashage (étape 232). L’analyse de la pratique professionnelle des comptables a mis en évidence le fait que ces derniers effectuent l'allocation d’une pièce comptable à un couple de comptes débiteur/compte créditeur sur la base d’informations contextuelles contenues dans la pièce comptable. Ces informations se retrouvent dans les écritures qui ont été effectuées dans le passé. Elles se retrouvent spécifiquement dans les allocations de comptes ainsi que dans le champ « description de l’opération » rempli normalement par le comptable. Accounting data extracted from postings made in the past must be converted to facilitate their understanding by an additional system. This operation is carried out for example by the transaction processor 230 shown in FIG. 3. As illustrated in this figure, the transaction processor 230 is advantageously composed of two mechanisms which perform the conversion of the account numbers into distances between accounts (step 231) and the conversion of the words contained in the “description” field into digital values by a hash function (step 232) . The analysis of the professional practice of accountants has highlighted the fact that the latter allocate an accounting document to a pair of accounts receivable / accounts payable on the basis of contextual information contained in the accounting document. This information is found in the entries that were made in the past. They are found specifically in the account allocations as well as in the “description of the operation” field normally filled in by the accountant.
L’allocation des comptes réalisée par le comptable est une donnée numérique qui désigne un compte dans un plan comptable. En se référant par exemple au plan comptable suisse standard, le compte « 6200 » désigne les charges de véhicule et de transport. Cette donnée numérique n’a pas de sens en tant que telle. Elle désigne en fait le nœud d’un arbre dont la racine est le plan comptable et qui se divise en deux branches : le bilan et le compte de résultats ou flux de trésorerie. Le plan comptable peut être représenté sous la forme d’un arbre comme cela est montré dans les figures 4, 5a et 5b. La notion de distance entre les comptes du plan comptable est illustrée dans la figure 6. La distance entre deux comptes du plan comptable se définit comme le nombre de sauts qu’il faut effectuer dans l’arbre pour joindre ces comptes par le plus court chemin. Par exemple, la distance entre les comptes « 1022-Banque 2 » et « 6281 -Frais de transport » vaut 10 car il faut effectuer 10 sauts pour établir le plus court chemin entre ces comptes dans l’arbre du plan comptable. Pour chaque compte du Grand livre, il est ainsi possible de déterminer toutes les distances qui le séparent des autres comptes dans l’arbre du plan comptable. Par exemple, les distances qui séparent le compte « 6281 -Frais de transport » de tous les autres comptes du plan comptable sont reportées dans le tableau 2.
Figure imgf000024_0001
The allocation of accounts carried out by the accountant is a numerical datum which designates an account in a chart of accounts. By referring for example to the standard Swiss chart of accounts, the account “6200” refers to vehicle and transport charges. This digital data does not make sense as such. It actually designates the node of a tree whose root is the chart of accounts and which is divided into two branches: the balance sheet and the income statement or cash flow. The chart of accounts can be represented in the form of a tree as shown in Figures 4, 5a and 5b. The concept of distance between the accounts of the chart of accounts is illustrated in figure 6. The distance between two accounts of the chart of accounts is defined as the number of jumps that must be made in the tree to join these accounts by the shortest path. . For example, the distance between the accounts "1022-Bank 2" and "6281-Transport costs" is worth 10 because it is necessary to perform 10 jumps to establish the shortest path between these accounts in the tree of the chart of accounts. For each General Ledger account, it is thus possible to determine all the distances that separate it from the other accounts in the chart of accounts tree. For example, the distances which separate the account “6281 -Transport costs” from all the other accounts in the chart of accounts are reported in table 2.
Figure imgf000024_0001
Tableau 2 : exemple d’un extrait des distances entre un compte du plan comptable et tous les autres comptes Table 2: example of an extract of the distances between an account in the chart of accounts and all the other accounts
L’ensemble des distances séparant tous les comptes du Grand livre d’une entité peuvent être évaluées une seule fois et sont stockées dans une base de données sous la forme d’une table à NxN entrées, N correspondant au nombre de « feuilles » de l’arbre du plan comptable. Il faut noter que seules les feuilles du plan comptables sont utiles pour la construction de cette table. Les autres nœuds de l’arbre ne servent qu’à calculer le chemin le plus court entre les paires de feuilles. Dans le contexte d’un exemple concret d’une mise en œuvre de la présente invention sur la base du plan comptable Suisse standard, la table des distances entre les comptes comprend donc 229 X 229 entrées. The set of distances separating all the general ledger accounts of an entity can be evaluated once and are stored in a database in the form of a table with NxN entries, N corresponding to the number of "sheets" of the chart of accounts tree. It should be noted that only the sheets of the chart of accounts are useful for the construction of this table. The other nodes of the tree are only used to calculate the shortest path between the pairs of leaves. In the context of a concrete example of an implementation of the present invention on the basis of the standard Swiss chart of accounts, the table of distances between accounts therefore comprises 229 X 229 entries.
Les données « description» de l’opération, qui ont été extraites des écritures comptables passées, contiennent des informations que l’on peut exploiter pour modéliser la distribution des opérations. On entend par « distribution des opérations » la distribution statistique des opérations au regard des codes comptables. Chaque opération est un point dans un espace multidimensionnel et l’ensemble des opérations est ainsi un nuage de point dans cet espace constituant une distribution statistique. The transaction description data, which has been extracted from past accounting entries, contains information that can be used to model the distribution of transactions. “Distribution of transactions” is understood to mean the statistical distribution of transactions with regard to accounting codes. Each operation is a point in a multidimensional space and the set of operations is thus a point cloud in this space constituting a statistical distribution.
A cet effet, la donnée « description» pour chaque écriture du passée extraite est convertie dans un espace contextuel. L’espace contextuel est composé de tous les mots d’un vocabulaire extrait des descriptions disponibles. Le principe consiste à représenter chaque description d’une opération en tant que vecteur dans un espace euclidien de dimension t où chaque dimension correspond à un mot du vocabulaire. A titre d’exemple, une partie du vocabulaire extrait dans le champ « description de l’opération » issu des historiques des comptabilités est illustrée dans le tableau 3.
Figure imgf000025_0001
To this end, the “description” data item for each past entry extracted is converted into a contextual space. The contextual space is composed of all the words of a vocabulary extracted from the available descriptions. The principle consists in representing each description of an operation as a vector in a Euclidean space of dimension t where each dimension corresponds to a word of the vocabulary. By way of example, part of the vocabulary extracted in the “description of the operation” field from the accounting histories is illustrated in table 3.
Figure imgf000025_0001
Tableau 3 : extrait du vocabulaire issu de l’information « description » des écritures comptables du passé Table 3: extract of the vocabulary from the "description" information of past accounting entries
Afin de pouvoir traiter ces mots comme grandeurs numériques qui seront être exploitées l’algorithme d’apprentissage de la présent invention, les valeurs alphanumériques de ces mots sont transformée par une méthode dite de « vectorisation » des mots. Cette transformation peut être par exemple réalisée par l’intermédiaire d’une fonction F de hashage. Cette technique est connue sous le nom de « hashing vectorization » ou « hashing tricks ». La fonction de hashage F prend en entrée tous les mots du vocabulaire issu des descriptions associées à toutes les écritures et les transforme en une valeur numérique. Dans le contexte d’un exemple concret de mise en œuvre de la présente invention, le nombre de valeurs numériques différentes pour représenter toutes les descriptions disponibles est fixé à 1024. Ce choix permet de fixer la longueur du vecteur qui devient ainsi indépendante du nombre de mots utilisés pour la description de chaque écriture. A l’issue du processus de retraitement des données comptables des années précédentes, chaque opération comptable peut donc être représentée par 1482 valeurs organisées dans un vecteur V suivant la structure illustrée dans le tableau 4. Ces données sont stockées dans la base de données 240 représentée dans la figure 2. La base de données contiendra donc Z lignes de 1482 valeurs, où Z est le nombre d’écritures disponibles pour l’année N.
Figure imgf000026_0001
In order to be able to process these words as digital quantities which will be used by the learning algorithm of the present invention, the alphanumeric values of these words are transformed by a method known as “vectorization” of words. This transformation can for example be carried out by means of a hash function F. This technique is known as “hashing vectorization” or “hashing tricks”. The hash function F takes as input all the words of the vocabulary resulting from the descriptions associated with all the scripts and transforms them into a numerical value. In the context of a concrete example of implementation of the present invention, the number of different numerical values to represent all the available descriptions is fixed at 1024. This choice makes it possible to fix the length of the vector which thus becomes independent of the number of words used for the description of each entry. At the end of the process of restating the accounting data for previous years, each accounting operation can therefore be represented by 1482 values organized in a vector V according to the structure illustrated in Table 4. These data are stored in the database 240 represented. in figure 2. The database will therefore contain Z rows of 1482 values, where Z is the number of entries available for year N.
Figure imgf000026_0001
Tableau 4 : exemple structure des données comptables après retraitementTable 4: example structure of accounting data after restatement
Comme illustré dans la figure 1 , une cartographie des classes des écritures comptables à partir des écritures comptable réalisées dans le passé est établie à l’étape 130. Les données stockées dans la base de données 240 et par exemple organisées selon le tableau 4 sont utilisées pour alimenter un système de classification automatique des écritures comptables qui est basé sur un algorithme dit des « self-organizing maps (SOM)» ou « carte auto organisée » (voir figure 7). As illustrated in FIG. 1, a mapping of the classes of the accounting entries from the accounting entries made in the past is established in step 130. The data stored in the database 240 and for example organized according to Table 4 are used. to feed an automatic classification system for accounting entries which is based on an algorithm known as “self-organizing maps (SOM)” or “auto-organized map” (see figure 7).
Tel qu'utilisée dans le contexte de la présente invention, la carte auto-organisée C (250 dans la Figure 7), fait référence à une technique de regroupement et à la représentation du résultat, technique qui regroupe les données dans des classes de telle sorte que les données similaires sont généralement regroupées dans une même classe alors que les données dissemblables ne le sont pas. As used in the context of the present invention, the self-organized map C (250 in Figure 7), refers to a technique of grouping and representation of the result, a technique which groups data into classes of such type. so that similar data is usually grouped together in the same class while dissimilar data is not.
Les termes «plus proche», «plus proche», «proche» et les termes d'importance semblable, dans ce contexte, désignent la proximité littérale dans une carte auto-organisée. Des variations mineures dans le positionnement des données comprenant une auto-organisée peuvent être tolérées sans s'écarter de la description sous-jacente de la carte auto-organisée telle que fournie dans les présentes et dans les références citées dans les présentes et connues dans l’état de l’art. La carte auto-organisée, d'abord énoncée est un modèle de réseau neuronal capable de projeter des données d'entrée de grande dimension (c'est-à-dire des vecteurs de données multivariés) sur un tableau de dimension inférieure, généralement à deux dimensions. Cette projection produit une représentation de dimension inférieure qui est utile pour détecter et analyser les caractéristiques de l'espace d'entrée de dimension supérieure. Le terme "dimension" dans le contexte d'un vecteur de données multivarié fait référence à la longueur du vecteur de données, de sorte que chacune de ses variables multiples décrit une dimension unique. Par exemple, une dimension peut faire référence à une distance entre comptes, éventuellement normalisée. Le terme "dimension" dans le contexte d'une représentation (par exemple, une représentation visuelle) désigne les présentations à une, deux ou trois dimensions généralement utilisées pour fournir des informations à un humain. The terms "nearer", "nearer", "near" and terms of similar importance, in this context, refer to literal proximity in a self-organizing map. Minor variations in the positioning of data including self-organizing can be tolerated without departing from the underlying description of the self-organizing map as provided herein and in references cited herein and known herein. 'state of the art. The self-organized, first-stated map is a neural network model capable of projecting large-dimensional input data (i.e., multivariate data vectors) onto a smaller-dimensional array, usually at two dimensions. This projection produces a lower dimensional representation which is useful for detecting and analyzing the characteristics of the higher dimensional input space. The term "dimension" in the context of a multivariate data vector refers to the length of the data vector, so each of its multiple variables describes a single dimension. For example, a dimension can refer to a distance between accounts, possibly standardized. The term "dimensional" in the context of a representation (eg, a visual representation) refers to one, two or three dimensional presentations generally used to provide information to a human.
Dans le contexte de la présente invention, la auto-organisée C permet d’organiser les données multidimensionnelles de la base de données 240, c’est-à-dire les Z écritures du passé sous forme de vecteurs V avec leur 1482 composantes et de représenter ces écritures sous forme d’une carte à deux dimensions dans laquelle les écritures « semblables » sont regroupées dans des classes qui représentées dans la auto-organisée C par les noeuds de cette carte. La construction de la carte auto-organisée par l’intermédiaire de l’algorithme « auto-organisé » peut par exemple suivre les étapes décrites dans la figure 8. Initialement, un vecteur poids initial P (étape 810) est assigné à chaque nœud de la carte auto-organisée. De nombreuses méthodes d'attribution initiale des vecteurs poids P sont connues de l’homme de l’art, y compris l'attribution aléatoire d'un nombre à chaque vecteur scalaire des vecteurs poids, sans stimulation. Le terme "aléatoire" désigne probabilité égale pour n'importe lequel d'un ensemble de résultats possibles. La valeur numérique de ces valeurs scalaires assignées au hasard peut être approximativement limitée à la borne inférieure et supérieure par l'extrema correspondant observé dans les vecteurs d'entraînement, ici les vecteurs V. Une autre méthode d’initialisation des vecteurs de poids comprend une variation systématique (p. ex. linéaire) dans la plage de chaque dimension de chaque vecteur poids P pour recouper approximativement la plage correspondante observée dans les vecteurs d'entraînement. Dans une autre méthode d'initialisation, les vecteurs poids P sont initialisés par les valeurs des vecteurs ordonnés le long d'un sous-espace bidimensionnel traversé par les deux vecteurs propres principaux des vecteurs d'entraînement obtenus par des méthodes d'orthogonalisation bien connues dans l'art (par exemple, l'orthogonalisation de Gram-Schmidt). Dans une autre procédure d'initialisation, les valeurs initiales sont fixées sur des échantillons choisis au hasard de la base d’apprentissage. Dans le contexte de l’exemple concret de la mise en œuvre de la présente invention, à chaque nœud de la carte auto-organisée est attribué lors de l’étape 810 un vecteur poids P de dimension 1482, dont les valeurs des 1482 composantes peuvent initialement attribuées de différentes manières, de préférence de manière aléatoire. In the context of the present invention, the self-organized C makes it possible to organize the multidimensional data of the database 240, that is to say the Z writes of the past in the form of vectors V with their 1482 components and of represent these writings in the form of a two-dimensional map in which the “similar” writings are grouped together in classes which are represented in the self-organized C by the nodes of this map. The construction of the self-organized map by means of the “self-organized” algorithm can for example follow the steps described in FIG. 8. Initially, an initial weight vector P (step 810) is assigned to each node of the self-organized map. Many methods of initial allocation of the weight vectors P are known to those skilled in the art, including the random allocation of a number to each scalar vector of the weight vectors, without stimulation. The term "random" refers to equal probability for any of a set of possible outcomes. The numerical value of these randomly assigned scalar values can be approximately limited to the lower and upper bound by the corresponding extrema observed in the training vectors, here the V vectors. Another method of initializing the weight vectors includes a systematic (e.g. linear) variation in the range of each dimension of each weight vector P to approximately intersect the corresponding range observed in the training vectors. In another initialization method, the weight vectors P are initialized by the values of the vectors ordered along a two-dimensional subspace crossed by the two principal eigenvectors of the training vectors obtained by orthogonalization methods well known in the art (for example, Gram-Schmidt orthogonalization). In another initialization procedure, the initial values are fixed on samples chosen at random from the training base. In the context of the concrete example of the implementation of the present invention, at each node of the self-organized map is assigned during step 810 a weight vector P of dimension 1482, whose values of the 1482 components can initially assigned in different ways, preferably randomly.
Dans l'étape 820, un vecteur d'apprentissage V, c’est-à-dire une des lignes de la base de données 240, est sélectionné. La sélection peut être aléatoire ou systématique, de préférence aléatoire. Quand un vecteur d’apprentissage est sélectionné, la distance euclidienne entre le vecteur d'entraînement sélectionné et chaque vecteur poids P associés aux nœuds de la carte auto-organisée C est calculé. In step 820, a training vector V, that is to say one of the rows of the database 240, is selected. The selection can be random or systematic, preferably random. When a training vector is selected, the Euclidean distance between the selected training vector and each weight vector P associated with the nodes of the self-organized map C is calculated.
A l'étape 830, le vecteur poids P, et donc le nœud de la carte auto organisée C correspondant, ayant la plus petite distance euclidienne est défini comme étant "l'unité qui correspond le mieux" (Best Matching Unit ou BMU). Une fois qu'un vecteur BMU correspondant est identifié, le voisinage de ce vecteur BMU, c’est-à-dire les valeurs attribuées aux nœuds voisins, est éventuellement mise à l'échelle (étape 840) par des méthodes bien connu dans l'art. In step 830, the weight vector P, and therefore the corresponding node of the self-organized map C, having the smallest Euclidean distance is defined as being “the unit which corresponds best” (Best Matching Unit or BMU). Once a corresponding BMU vector is identified, the neighborhood of this BMU vector, i.e. the values assigned to neighboring nodes, is optionally scaled (step 840) by methods well known in 'art.
À l'étape 850, il est décidé s'il faut répéter les étapes 820-840 ou mettre fin à la construction de la carte auto-organisée C. Cette décision est fondée sur le respect ou non d'un critère de convergence prédéfini. Le terme "critère de convergence", dans le contexte de la construction de la carte auto organisée C, se réfère à l'un quelconque des éléments suivants correspondant à une variété de métriques à la disposition de l’homme de l’art. Ces critères comprennent par exemple une limite d'itération absolue (p. ex. 100, 200, 500, 1000, 2000, 5000 ou même plus), un changement de la distance euclidienne entre le vecteur d'entraînement V choisi et chaque vecteur poids P de la carte C (p. ex, 100, 10, 1, 0,1, 0,01, 0,01, 0,001 et même moins), un changement relativement important de la distance euclidienne entre le vecteur d'entraînement V choisi et chaque vecteur poids P de la carte C (p. ex. 10 %, 1 %, 0,1 %, 0,1 %, 0,01 % et même moins), ou l'un quelconque de ces critères couplé en outre à une exigence du nombre de sélection minimale des vecteurs de d’apprentissage V (p. ex. 1, 2, 3, 4, 5, 10, 20, 50, 100 ou encore plus). Une fois la convergence atteinte, la procédure d’apprentissage de la carte auto organisée C se termine (étape 860). In step 850, it is decided whether to repeat steps 820-840 or to terminate the construction of the self-organized map C. This decision is based on whether or not a predefined convergence criterion is met. The term "convergence criterion", in the context of the construction of the self-organized map C, refers to any of the following corresponding to a variety of metrics available to those skilled in the art. These criteria include for example an absolute iteration limit (e.g. 100, 200, 500, 1000, 2000, 5000 or even more), a change in the Euclidean distance between the chosen training vector V and each weight vector. P from card C (e.g., 100, 10, 1, 0.1, 0.01, 0.01, 0.001 and even less), a relatively large change in the Euclidean distance between the chosen training vector V and each weight vector P card C (e.g. 10%, 1%, 0.1%, 0.1%, 0.01% and even less), or any of these criteria coupled in addition to a requirement of the number minimum selection of training vectors V (eg 1, 2, 3, 4, 5, 10, 20, 50, 100 or more). Once convergence is reached, the learning procedure for the self-organized card C ends (step 860).
Une fois que l’apprentissage de la carte auto-organisée C a été effectué sur la base de la base de données 240 qui contient les écritures comptable du passé cette carte C peut être utilisée pour allouer automatiquement un couple de comptes débiteur/créditeur à une nouvelle pièce comptable. En effet, à l’issue de la phase d’apprentissage de la carte C, chaque vecteur poids P, c’est-à-dire chaque de nœud de la carte auto-organisée C, code un couple d’un compte débiteur et d’un compte créditeur et leurs distances à tous les autres comptes du plan comptable. Dans le contexte de l’exemple concret de la mise en œuvre de la présente invention chaque nœud de la carte auto-organisée C code 1024 valeurs correspondant à un vecteur de hashage des données de description ainsi que 2 x 229 valeurs correspondant aux distances entre les comptes. D’un point de vue mathématique chaque nœud peut donc être représenté par un vecteur de dimension 1482. D’un point de vue mathématique, si la mesure de distance retenue pour organiser la carte auto-organisée C est une distance euclidienne, chaque vecteur poids P associé à un nœud de la carte C regroupe toutes les valeurs situées dans son hypercube de Voronoï. Once the learning of the self-organized card C has been carried out on the basis of the database 240 which contains the accounting entries of the past, this card C can be used to automatically allocate a pair of debit / credit accounts to a bank. new accounting document. Indeed, at the end of the learning phase of the card C, each weight vector P, that is to say each node of the self-organized card C, codes a pair of a debit account and a credit account and their distances from all other accounts in the chart of accounts. In the context of the concrete example of the implementation of the present invention, each node of the self-organized map C codes 1024 values corresponding to a hash vector of the description data as well as 2 x 229 values corresponding to the distances between them. accounts. From a mathematical point of view, each node can therefore be represented by a vector of dimension 1482. From a mathematical point of view, if the distance measure used to organize the self-organized map C is a Euclidean distance, each weight vector P associated with a node of the map C groups together all the values located in its Voronoi hypercube.
Durant la phase d’utilisation de la carte auto-organisée C, les vecteurs poids P associés aux nœuds ne sont plus modifiés. L’utilisation de la carte pour l’allocation automatique d’une nouvelle pièce comptable, consiste sur la base de l’information « description » extraite de cette pièce à l’étape 140 (voir figure 1 ), à déterminer quel est le couple de comptes débiteur/créditeur qu’il convient de lui associer en fonction de ce qui a été précédemment affecté par le comptable. Cette étape correspond aux étapes 160 et 170 de la figure 1. La figure 1 détaille les étapes 150 à 180 requises pour l’obtention de la classe, c’est-à-dire le nœud correspondant de la carte auto-organisée C, d’une nouvelle pièce comptable. Pour une nouvelle pièce comptable, l’information « description » peut provenir de la pièce comptable elle-même si elle est identifiable en tant que telle dans un fichier numérique, d’une métadonnée associée à la pièce comptable, d’une mention additionnelle à la pièce comptable ajoutée par un opérateur manuel, d’un système d’analyse automatique capable d’extraire des informations de la pièce comptable et en général de tout système capable de donner une information contextuelle codée sous forme numérique en relation avec la pièce comptable et capable d’aider à son interprétation. En d’autres termes, l’information « description » sous forme alphanumérique extraite de la pièce comptable est transformée en une valeur numérique grâce à la même fonction de hashage F qui a été utilisée pour créer la base de données 240. Par cet intermédiaire, pour chaque nouvelle pièce comptable un vecteur de valeurs numériques W est créé. Dans le contexte de l’exemple concret de mise en œuvre de la présente invention, pour chaque pièce nouvelle pièce comptable un vecteur W de dimension 1024 est créé sur la base de l’information « description » extraite de cette pièce. During the phase of use of the self-organized map C, the weight vectors P associated with the nodes are no longer modified. The use of the card for the automatic allocation of a new accounting document consists, on the basis of the “description” information extracted from this document in step 140 (see FIG. 1), in determining what the torque is. debit / credit accounts that should be associated with it based on what was previously assigned by the accountant. This step corresponds to steps 160 and 170 of FIG. 1. FIG. 1 details the steps 150 to 180 required to obtain the class, that is to say the corresponding node of the self-organized card C, of a new accounting document. For a new accounting document, the “description” information can come from the accounting document itself if it is identifiable as such in a digital file, from a metadata associated with the accounting document, from an additional statement to the accounting document added by a manual operator, an automatic analysis system capable of extracting information from the accounting document and in general any system capable of giving contextual information coded in digital form in relation to the accounting document and able to help in its interpretation. In other words, the “description” information in alphanumeric form extracted from the accounting document is transformed into a numerical value thanks to the same hash function F which was used to create the database 240. By this means, for each new accounting document a vector of numerical values W is created. In the context of the concrete example of implementation of the present invention, for each new accounting document, a vector W of dimension 1024 is created on the basis of the “description” information extracted from this document.
La description de la nouvelle pièce comptable, transformée en un vecteur W de valeurs numériques, est fournie comme donnée de l’étape durant laquelle nous utilisons la carte auto-organisée C pour obtenir la classe (le nœud de la carte) pour la nouvelle pièce comptable. Les valeurs de chaque nœud de la carte auto-organisée correspondent à deux sous-ensembles d’informations : celles qui correspondent à une nouvelle description et celles qui correspondent aux deux distances associées à la description, comme cela est montrés dans figure 9. En d’autres termes, le vecteur poids associé à chaque nœud de la carte peut être subdivisé un premier sous-ensemble de « coordonnées » qui représentent les informations « description » et un deuxième sous-ensemble qui correspond aux distances entres les comptes. Dans le contexte de l’exemple concret de mise en œuvre de la présente invention, le premier sous-ensemble contient 1024 valeurs numériques et le deuxième sous-ensemble 458 (2x229) valeurs numériques.The description of the new accounting document, transformed into a vector W of numerical values, is provided as data of the step during which we use the self-organized map C to obtain the class (the node of the map) for the new document accounting. The values of each node of the self-organized map correspond to two subsets of information: those which correspond to a new description and those which correspond to the two distances associated with the description, as shown in figure 9. In d In other words, the weight vector associated with each node of the map can be subdivided into a first subset of “coordinates” which represent the “description” information and a second subset which corresponds to the distances between the counts. In the context of the concrete example of the implementation of the present invention, the first subset contains 1024 numeric values and the second subset 458 (2x229) numeric values.
En se référant à la figure 9, le sous-ensemble correspondant à W^sc porte l’information sur la description de la pièce comptable sous forme de 1024 valeurs numériques. Le sous-ensemble comprenant w^edlt et wfj eblt portent les informations relatives aux distances entres comptes codés par le nœud j de la carte. Referring to figure 9, the subset corresponding to W ^ sc carries information on the description of the accounting document in the form of 1024 numerical values. The subset comprising w ^ edlt and wf j eblt carry the information relating to the distances between accounts coded by node j of the map.
En phase d’utilisation de la carte auto-organisée uniquement un vecteur W de dimension égale à la dimension du sous-ensemble Wtf esc est à disposition après l’extraction et la transformation de l’information « description » de la nouvelle pièce comptable. Ce vecteur W qui, dans le contexte de l’exemple concret de mise en œuvre de la présente invention, a une dimension égale à 1024, est représenté dans la figure 10 par W1 1Q24. In the use phase of the self-organized map, only a vector W of dimension equal to the dimension of the sub-assembly W t f esc is available after the extraction and transformation of the "description" information of the new part. accounting. This vector W which, in the context of the concrete example of implementation of the present invention, has a dimension equal to 1024, is represented in FIG. 10 by W 1 1Q24.
La détermination du nœud (ou de la classe) de la carte auto organisée C auquel la nouvelle pièce comptable doit être attribuée est effectuée en utilisant un algorithme qui détermine la distance euclidienne entre le vecteur d’entrée x1 1024 et les composantes W}esc du vecteur poids P associé à chaque nœud de la carte. Le vecteur poids P, et donc le nœud correspondant, ayant la plus petite distance euclidienne avec le vecteur d’entrée x1 1024 est déclarée BMU comme cela est illustré dans la figure 11. Le nœud de la carte correspondant est donc attribué à la nouvelle pièce comptable. The determination of the node (or of the class) of the self-organized map C to which the new accounting document must be allocated is carried out using an algorithm which determines the Euclidean distance between the input vector x 1 1024 and the components W} esc of the weight vector P associated with each node of the map. The weight vector P, and therefore the corresponding node, having the smallest Euclidean distance with the input vector x 1 1024 is declared BMU as illustrated in figure 11. The corresponding map node is therefore assigned to the new one. accounting document.
Une fois qu'un vecteur BMU est identifié, les composantes w^ edlt et Wfjeblt de BMU qui correspondent donc aux distances aux comptes créditeurs respectivement débiteurs sont extraites. Une fois ces valeurs composantes extraites, il faut déterminer les comptes qui leur correspondent ce qui permet d’allouer ce couple de comptes à la nouvelle pièce comptable. Once a BMU vector is identified, the components w ^ edlt and Wfj eblt of BMU which therefore correspond to the distances to the accounts payable respectively debit accounts are extracted. Once these component values have been extracted, it is necessary to determine the accounts which correspond to them, which allows this pair of accounts to be allocated to the new accounting document.
Il est important de noter que durant la phase d’apprentissage de la carte auto-organisée, les valeurs w^edlt et wfj eblt ont été adaptées en fonction des distances de comptes associées à chaque écriture. Rappelons que suivant le tableau 4, qui illustre la structure des données comptables du passé extraites et après retraitement, les entrées correspondant aux distances sont toutes différentes de zéro sauf celle qui correspond exactement au compte d’allocation de l’écriture en crédit ou débit. Néanmoins, comme conséquence de l’apprentissage de la carte auto-organisée C, les valeurs de distances ne contiennent pas obligatoirement des composantes à valeur égale à 0. It is important to note that during the learning phase of the self-organized map, the values w ^ edlt and wf j eblt were adapted according to the account distances associated with each entry. Recall that according to Table 4, which illustrates the structure of the past accounting data extracted and after restatement, the entries corresponding to the distances are all different from zero except the one which corresponds exactly to the allocation account of the credit or debit entry. Nevertheless, as a consequence of learning the self-organized map C, the distance values do not necessarily contain components with a value equal to 0.
Pour déterminer l’indice des composantes du sous-ensemble wdjeblt et Wifedlt que nous allons choisir afin d’extraire le couple de comptes débiteur/créditeur, nous allons rechercher la plus petite valeur des distances parmi celles correspondant aux composantes créditeurs et débiteurs du BMU. Cela nous donnera immédiatement l’indice des comptes à utiliser et ce de manière indépendante pour la partie débit et la partie crédit. To determine the index of the components of the subset w d j eblt and Wif edlt that we are going to choose in order to extract the couple of accounts receivable / payable, we are going to look for the smallest value of the distances among those corresponding to the credit components and BMU debtors. This will immediately give us the index of the accounts to use and this independently for the debit part and the credit part.
Le tableau 5 montre un exemple des valeurs du sous-ensemble Wifedlt dans le contexte de l’exemple concret de mise en œuvre de la présente invention. Afin de déterminer quel compte créditeur doit être alloué à la nouvelle pièce comptable, il suffit de déterminer le compte qui a la distance la plus petite. Dans cet exemple concret, le compte correspondant est le compte « 5274 ». De même manière le compte débiteur peut être déterminé à partir des distances du sous-ensemble wfj eblt correspondant au de nœud de la carte identifié. A l’issue de ce processus, deux comptes sont donc obtenus qui déterminent exactement le couple de comptes débiteur/créditeur dans lequel nous allons écrire la valeur « montant » du tableau 1 , ce qui correspond à la dernière étape 190 de la figure 1.
Figure imgf000032_0001
Tableau 5 : exemple des distances extraites du vecteur BMU pour la nouvelle pièce comptable
Table 5 shows an example of the values of the Wif edlt subset in the context of the concrete example of the implementation of the present invention. In order to determine which credit account should be allocated to the new accounting document, it is sufficient to determine the account which has the smallest distance. In this concrete example, the corresponding account is account "5274". Similarly, the debit account can be determined from the distances of the subset wf j eblt corresponding to the node of the card identified. At the end of this process, two accounts are therefore obtained which exactly determine the pair of debit / credit accounts in which we are going to write the “amount” value of table 1, which corresponds to the last step 190 of FIG. 1.
Figure imgf000032_0001
Table 5: example of the distances extracted from the BMU vector for the new accounting document
Avantageusement, la présente méthode est mise en œuvre en utilisant un programme informatique pour effectuer des opérations sur des aspects de la présente invention qui peut être écrit dans n'importe quelle combinaison d'un ou plusieurs langages de programmation, y compris un langage de programmation orienté objet tel que Java, Python, C++, ou similaire et des langages de programmation procédurale classiques, tels que le langage de programmation "C" ou des langages de programmation similaires. Le code du programme peut être exécuté entièrement sur l'ordinateur de l'utilisateur, en partie sur l'ordinateur de l'utilisateur, en tant que progiciel autonome, en partie sur l'ordinateur de l'utilisateur et en partie sur un ordinateur distant ou entièrement sur l'ordinateur distant ou un serveur. Dans ce dernier scénario, l'ordinateur distant peut être connecté à l'ordinateur de l'utilisateur via n'importe quel type de réseau, y compris un réseau local (LAN) ou un réseau étendu (WAN), ou la connexion peut être établie à un ordinateur externe (par exemple, par le biais de la fonction Internet à l'aide d'un fournisseur de services Internet). Advantageously, the present method is implemented using a computer program to perform operations on aspects of the present invention which can be written in any combination of one or more programming languages, including a programming language. object oriented such as Java, Python, C ++, or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. Program code can be run entirely on the user's computer, partially on the user's computer, as a stand-alone software package, in part on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be established to an external computer (for example, through the Internet function using an Internet service provider).
L’ordinateur exécutant le programme sera composé au minimum d’un processeur standard (CPU) avec sa mémoire RAM d’au minimum 30Giga octets, un disque dur de capacité minimum 1Tera Octet. Il pourra être aussi composé d’un processeur d'exécuter plusieurs threads simultanémentThe computer running the program will consist of at least a standard processor (CPU) with its RAM memory of at least 30Giga bytes, a hard disk with a minimum capacity of 1Tera Byte. It could also be composed of a processor to execute several threads simultaneously
(multithread). Enfin, il peut lui être adjoint des cartes d’accélération matérielles telles que les GPU (graphie processor Units), les TPU (Tensor Processing Units) et en général tout dispositif d’accélération matérielle disponible sur le marché tels que RTX2060, RTX 2070, GTX 1070. II est évident que la présente invention est sujette à de nombreuses variations quant à sa mise en oeuvre. Bien qu’un mode de réalisation non limitatif ait été décrit à titre d’exemple, on comprend bien qu’il n’est pas concevable d’identifier de manière exhaustive toutes les variations possibles. Il est bien sûr envisageable de remplacer un moyen décrit par un moyen équivalent sans sortir du cadre de la présente invention. Toutes ces modifications font partie des connaissances communes d’un homme du métier dans le domaine technique de la présente invention. (multithreaded). Finally, it can be added hardware acceleration cards such as GPUs (graphie processor Units), TPUs (Tensor Processing Units) and in general any hardware acceleration device available on the market such as RTX2060, RTX 2070, GTX 1070. It is obvious that the present invention is subject to many variations as to its implementation. Although a non-limiting embodiment has been described by way of example, it will be understood that it is not conceivable to identify exhaustively all the possible variations. It is of course conceivable to replace a means described by an equivalent means without departing from the scope of the present invention. All these modifications are part of the common knowledge of a person skilled in the art in the technical field of the present invention.

Claims

Revendications Claims
1. Méthode mise en œuvre par ordinateur pour l’allocation automatique d’une pièce comptable à un couple de comptes débiteur/créditeur d’un plan comptable et pour l’écriture comptable associée à cette pièce comptable comprenant les étapes : a. Extraction d’une information « description » correspondant à un texte descriptif ainsi que d’une information « comptable » correspondant au couple de comptes débiteur/créditeur pour chacune d’un nombre Z d’écritures comptables enregistrées précédemment dans un ou plusieurs Grands livres comptables ; b. Transformation de l’information « description » d’un format alphanumérique en une valeur numérique de dimension K par l’intermédiaire d’une fonction de vectorisation de mots F pour chacune des Z écritures numériques extraites ; c. Attribution d’un vecteur V de dimension K+M à chacune des Z écritures comptables extraites, le vecteur V comprenant les K valeurs numériques de l’information « description » transformée par la fonction F et M distances entre le compte débiteur et le compte créditeur associées à l’écriture comptable et tous les autres comptes du plan comptable. d. Apprentissage d’une carte auto-organisée C sur la base des vecteurs V, chaque nœud de la carte auto-organisée C correspondant à un vecteur poids P de dimension K+M ; e. Extraction d’une information « description » et d’une information « montant » d’une nouvelle pièce comptable ; f. Transformation de la valeur alphanumérique de l’information1. Method implemented by computer for the automatic allocation of an accounting document to a pair of accounts receivable / creditor of a chart of accounts and for the accounting entry associated with this accounting document comprising the steps: a. Extraction of "description" information corresponding to a descriptive text as well as "accounting" information corresponding to the pair of accounts receivable / creditor for each of a number Z of accounting entries previously recorded in one or more General ledgers ; b. Transformation of the "description" information from an alphanumeric format into a digital value of dimension K by means of a vectorization function of F words for each of the Z extracted digital scripts; vs. Allocation of a vector V of dimension K + M to each of the Z accounting entries extracted, the vector V comprising the K digital values of the "description" information transformed by the function F and M distances between the debit account and the credit account associated with the accounting entry and all other accounts in the chart of accounts. d. Learning of a self-organized map C on the basis of vectors V, each node of the self-organized map C corresponding to a weight vector P of dimension K + M; e. Extraction of "description" information and "amount" information from a new accounting document; f. Transformation of the alphanumeric value of information
« description » de la nouvelle pièce comptable en une valeur numérique de dimension K par l’intermédiaire de la fonction de vectorisation de mots F ; g. Attribution d’un vecteur W de dimension K et comprenant les valeurs numériques de l’information « description » transformée par la fonction F ; h. Détermination d’un vecteur BMU de la carte auto-organisée C comme étant le vecteur poids P le plus proche de W ; i. Extraction du compte débiteur Dmin correspondant à la composante la plus petite parmi les composantes M du vecteur BMU correspondent aux composantes des comptes débiteurs ; j. Extraction du compte créditeur Cmin correspondant à la composante la plus petite parmi les composantes M du vecteur BMU correspondent aux composantes des comptes créditeurs ; k. Allocation à la nouvelle pièce comptable le couple de comptes débiteur/créditeur Dmin / Cmin ; et “Description” of the new accounting document in a digital value of dimension K by means of the vectorization function of F words; g. Allocation of a vector W of dimension K and comprising the digital values of the “description” information transformed by the function F; h. Determination of a BMU vector of the self-organized map C as being the weight vector P closest to W; i. Extraction of the debit account Dmin corresponding to the smallest component among the components M of the vector BMU correspond to the components of the accounts receivable; j. Extraction of the credit account Cmin corresponding to the smallest component among the components M of the vector BMU correspond to the components of the accounts payable; k. Allocation to the new accounting document the pair of accounts receivable / creditor Dmin / Cmin; and
L. Ecriture de l’information « montant » extraite de la nouvelle pièce comptable dans le compte débiteur et le compte créditeur attribués à la pièce comptable. L. Writing the "amount" information extracted from the new accounting document in the debit account and the credit account assigned to the accounting document.
2. Méthode selon la revendication, dans laquelle la distance entre deux comptes est déterminée par le nombre de sauts qu’il faut effectuer dans l’arbre du plan comptable pour joindre deux comptes par le plus court chemin ; 2. Method according to claim, wherein the distance between two accounts is determined by the number of jumps that must be made in the tree of the chart of accounts to join two accounts by the shortest route;
3. Méthode selon l’une des revendications 1 ou 2, dans laquelle la détermination du vecteur BMU à l’étape h. est effectuée sur la base d’une mesure de distance euclidienne entre le vecteur BMU et le vecteur W ; 3. Method according to one of claims 1 or 2, wherein the determination of the BMU vector in step h. is performed on the basis of a Euclidean distance measurement between the BMU vector and the W vector;
4. Méthode selon l’une des revendications précédentes, dans laquelle la carte auto-organisée C est mise à jour après chaque nouvelle écriture comptable, après chaque dixième nouvelle écriture comptable ou après chaque centième nouvelle écriture comptable. 4. Method according to one of the preceding claims, in which the self-organized card C is updated after each new accounting entry, after every tenth new accounting entry or after every hundredth new accounting entry.
5. Méthode selon l’une des revendications précédentes, dans laquelle l’étape b. est réalisée à l’aide d’une fonction F dite de hashage, telle que le « Label encoding », l’encodage « 1 parmi N », le « Hasking trick », ou le « Binning optimal ». 5. Method according to one of the preceding claims, wherein step b. is performed using a so-called hash function F, such as "Label encoding", "1 of N" encoding, "Hasking trick", or "Optimal binning".
6. Méthode selon l’une des revendications précédentes, dans laquelle l’apprentissage de la carte auto-organisée C est réalisée par un algorithme de Self-Organizing maps. 6. Method according to one of the preceding claims, in which the learning of the self-organizing map C is carried out by a Self-Organizing maps algorithm.
7. Méthode selon l’une des revendications précédentes, dans laquelle les informations « description » et « montant » sont extraites depuis une copie scannée de la nouvelle pièce comptable. 7. Method according to one of the preceding claims, in which the "description" and "amount" information is extracted from a scanned copy of the new accounting document.
PCT/EP2020/084308 2019-12-04 2020-12-02 Computer-implemented method for allocating an accounting document to a pair of debtor/creditor accounts and the accounting entry WO2021110763A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP20819700.4A EP4070265A1 (en) 2019-12-04 2020-12-02 Computer-implemented method for allocating an accounting document to a pair of debtor/creditor accounts and the accounting entry

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH01539/19 2019-12-04
CH01539/19A CH716889A2 (en) 2019-12-04 2019-12-04 Method implemented by computer for the allocation of an accounting document to a pair of debit / credit accounts and its accounting entry.

Publications (1)

Publication Number Publication Date
WO2021110763A1 true WO2021110763A1 (en) 2021-06-10

Family

ID=73698834

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/084308 WO2021110763A1 (en) 2019-12-04 2020-12-02 Computer-implemented method for allocating an accounting document to a pair of debtor/creditor accounts and the accounting entry

Country Status (3)

Country Link
EP (1) EP4070265A1 (en)
CH (1) CH716889A2 (en)
WO (1) WO2021110763A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117078281B (en) * 2023-10-17 2024-01-09 肥城恒丰塑业有限公司 Anti-counterfeiting traceability management method and system for production of soundproof cloth

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5117356A (en) 1989-07-28 1992-05-26 Dns, Inc. Automated ledger account maintenance system
US6330545B1 (en) 1993-07-27 2001-12-11 Eastern Consulting Company, Ltd. Activity information accounting method and system
US20050055289A1 (en) 2001-08-09 2005-03-10 Mehldahl Robert Allen Multi-dimensional business information accounting software engine
US8126785B2 (en) 2004-06-09 2012-02-28 Syncada Llc Automated transaction accounting processing engine and approach
WO2015070314A1 (en) * 2013-11-13 2015-05-21 Yong Liu Supervised credit classifier with accounting ratios
US9063978B1 (en) * 2009-10-16 2015-06-23 Igor US Inc. Apparatuses, methods and systems for a financial transaction tagger
KR101914620B1 (en) * 2018-05-15 2018-11-06 (주)아이퀘스트 Automatic journalizing method using big data and machine learning and implementing server

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5117356A (en) 1989-07-28 1992-05-26 Dns, Inc. Automated ledger account maintenance system
US6330545B1 (en) 1993-07-27 2001-12-11 Eastern Consulting Company, Ltd. Activity information accounting method and system
US20050055289A1 (en) 2001-08-09 2005-03-10 Mehldahl Robert Allen Multi-dimensional business information accounting software engine
US8126785B2 (en) 2004-06-09 2012-02-28 Syncada Llc Automated transaction accounting processing engine and approach
US9063978B1 (en) * 2009-10-16 2015-06-23 Igor US Inc. Apparatuses, methods and systems for a financial transaction tagger
WO2015070314A1 (en) * 2013-11-13 2015-05-21 Yong Liu Supervised credit classifier with accounting ratios
KR101914620B1 (en) * 2018-05-15 2018-11-06 (주)아이퀘스트 Automatic journalizing method using big data and machine learning and implementing server

Also Published As

Publication number Publication date
CH716889A2 (en) 2021-06-15
EP4070265A1 (en) 2022-10-12

Similar Documents

Publication Publication Date Title
Amani et al. Data mining applications in accounting: A review of the literature and organizing framework
Stevenson et al. The value of text for small business default prediction: A deep learning approach
Cielen et al. Introducing data science: big data, machine learning, and more, using Python tools
Rattenbury et al. Principles of data wrangling: Practical techniques for data preparation
Minelli et al. Big data, big analytics: emerging business intelligence and analytic trends for today's businesses
AU2018206822A1 (en) Simplified tax interview
CH716790A2 (en) Apparatus and method for cash management using machine learning.
FR3069357A1 (en) MACHINE APPRENTICESHIP SYSTEM FOR VARIOUS COMPUTER APPLICATIONS
AU2021355322B2 (en) Heterogeneous graph embedding
US20220067365A1 (en) System and method for domain aware document classification and information extraction from consumer documents
Milner et al. Tax analytics—Artificial intelligence and machine learning—Level 5
Westerski et al. Explainable anomaly detection for procurement fraud identification—lessons from practical deployments
US11494687B2 (en) Generating samples of transaction data sets
CN110046188A (en) Method for processing business and its system
Skyrius et al. The potential of big data in banking
EP4070265A1 (en) Computer-implemented method for allocating an accounting document to a pair of debtor/creditor accounts and the accounting entry
Gupta et al. Machine Learning-Driven Alert Optimization
CN108734021A (en) It is a kind of based on the financial credit big data methods of risk assessment and system that remove private data
Park et al. Estimating the BIS capital adequacy ratio for Korean banks using machine learning: Predicting by variable selection using random forest algorithms
Rahaman et al. Bitcoin trading indicator: a machine learning driven real time bitcoin trading indicator for the crypto market
Panicker et al. Emerging role of data analytics in combating financial frauds: The era of big data in India
Modrušan et al. Intelligent Public Procurement Monitoring System Powered by Text Mining and Balanced Indicators
US20180089302A1 (en) System and method for computing critical data of an entity using cognitive analysis of emergent data
JP2015125534A (en) Transaction history data analysis system and transaction history data analysis method
US20210133709A1 (en) System and method for nearest neighbor-based bank account number validation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20819700

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020819700

Country of ref document: EP

Effective date: 20220704