Audit trail

 

An audit trail is needed because if you want to conduct an audit in your company, it must be possible to check the whole history of the company. Take a transaction as an example – who created it, when it was edited, when it was deleted and basically the track record of all changes. 

 

What data can you search and change?

 

The answer is all accounting information: the history of transactions, invoices etc. is always available by default (for example, if you change an invoice, old rows are deleted or new ones are created). You can go to the Report Generator and create a report about these changes. 

Here are two examples: 

1) How can I see my invoice changes?

If you want to see all changes that were made to an invoice, you have to choose the following options in the Report Generator: 

Tables: Invoices(Rows), Invoices, Contacts

Output: Contacts.Name, Invoices.Invoice No, Invoices.Date, Invoices(Rows).Creation Date, Invoices(Rows).Creator(ID), Invoices(Rows).Deletion Date, Invoices(Rows).Deleted By(ID), Invoices(Rows).Qty, Invoices(Rows).Name, Invoices.Type

You also have to add one parameter:

  • Parameter: Invoices-Invoice No
  • Type: Equals
  • Value: add the invoice number here

 

 

The output will show you deleted invoice rows along with existing ones. This way you can see any data that were edited. 

2) How can I see who added 2022 transactions to the year 2020?

To see who made 2022 transactions as if in the year 2020, you have to compose a report with the following options:

  • Tables: Transactions
  • Output: Transactions.Creation Date, Transactions.Creator(ID), Transactions.Date

You also have to add 4 parameters: 

Parameter 1: Transaction.Deletion Date  (to sort out deleted transactions)

Type: is Empty

Parameter 2: Transactions.Creation Date 

Type: More than/Equals

Date: 01/01/2022

Parameter 3: Transactions.Date

Type: More than/Equals

Date: 01/01/2020

Parameter 4: Transactions.Date

Type: Less than

Date: 01/01/2021

 

 

Now you can see all transactions that were created in 2022 but the transaction’s date is in 2020.

In the Report Generator the deleted column is available for every accounting related table except for the general ledger. The general ledger data are clean – only currently existing values without deleted ones. If you want to see deleted general ledger transactions, you have to activate a rule to do so. Go to ‘’Settings -> Configuration’’, under Other Options find rule number 35 (Save all accounting history?) and activate it. Now save the changes and log out-log in. 

 

 

If you now go back to the Report Generator, you can see that the ‘’Deleted Transactions’’ option has appeared in the ‘’Tables’’ cell, which you didn’t have before. From now on whenever you delete anything from the general ledger, the system will save the journal value there. 

 

History of rule changes 

 

If you want to track all setting changes, you need another rule. To create the rule, go to Dashboard and search for ‘’Global Parameters’’. Then, add a global:

  • Name: GLOBAL_SAVE_ALL_SETTINGS_HISTORY
  • Value: true

If this global is added, you will see all information about changes made to accounting data. 

Here is an example. We change a tax rate name in the Tax Rates module (Settings -> Tax Rates). We then change the Main Tax name to Main Tax2. 

 

 

Now you will be able to see information about the change in the Report Generator if you create the following report:

 

 

  • Tables: Activity Items
  • Output: Activity Items.Name, Activity Items.Value, Activity Items.Date, Activity Items.Creator(ID)

Pressing ‘’Search’’ will show you information about that activity in the table below: 

 

 

We can see here the activity name, the activity value, creation date and who made the change – so all the history of rule changes are shown. This data cannot be changed anymore. 

This rule change to reveal activity information is applicable to all information that has an impact on your accounting: tax rates, projects, customers and suppliers, chart of accounts, system accounts, user rights and globals. 

 

How can I see who has access to my organization?

 

To identify who has access to your software you have to add a following global:

Name: GLOBAL_LOG_LOGIN_INFO

Value: true

This updates information every ten minutes if you are using the software constantly. 

To see this information you have to create a following report:

 

 

Note: this only shows access to the user interface or the API. There are lots of automatic processes that might create transactions in the background. For example, Erply Inventory synchronization creates invoices and the user who is connected to the creation of an invoice is only the user that the system uses for synchronization.

 

What to do if you don’t want anyone else to change the data?

 

In ERPLY Books, it is possible to lock various items, for example purchase invoices, sales invoices, account information, reg. code etc. so that none of the other users can change them.

Global parameters need to be added for the locking to work. To do this, go to the dashboard, find Global Parameters and add a new row.

 

Locking globals

 

If you want the purchase invoice to be locked after modifying, then add:

  • Name: GLOBAL_LOCK_INVOICE_AFTER_EDIT
  • Value: true

If you want the change number, name, currency, type not to be available, then add:

  • Name: GLOBAL_DO_NOT_ACCOUNT_BASE_INFO_EDIT
  • Value: true

If you want transaction deletion to be disabled, then add:

  • Name row: GLOBAL_DO_NOT_ALLOW_TRANSACTION_DELETE
  • Value row: true

If you want to disable canceling transaction locking, then add:

  • Name: ATTRIBUTE_GLOBAL_DO_NOT_ALLOW_TRANSACTION_LOCK_CHANGE
  • Value: true
  • Alt. Value2: true (Alt. Value2 says that this rule cannot be changed or deleted)

If you want to disable changing the name, reg. code, VAT number, code, etc., then add:

  • Name: GLOBAL_DO_NOT_ALLOW_CONTACT_MASTER_DATA_EDIT
  • Value: name|registrationCode|vatNumber|code (write here the things you want nobody else to be able to change)

If you want the sales invoices to be locked after printing/sending and when the invoice has been paid, then add:

  • Name: GLOBAL_LOCK_SALES_AFTER_SEND_OR_PRINT
  • Value: true

If you want to be able to edit an entry for a certain amount of seconds after the first edit was created, then add:

  • Name: GLOBAL_JOURNAL_EDIT_RULE
  • Value: true
  • Int Number: For example, if you want it to be possible to edit an entry for 3 seconds after the first edit was created, then you need to write the number 3 in the row.

If you want to disable deleting any created documents, then add:

  • Name: GLOBAL_DO_NOT_ALLOW_DOCUMENT_DELETE
  • Value: true
  • AltValue: add here document types that can be deleted. If this is blank, no documents (even orders, price offers etc.) can be deleted. To add multiple types, separate them by |. For example DOCUMENT_BID|DOCUMENT_SALES_ORDER. 

If you want to set a maximum time limit for changing accounting documents (invoice, waybill, payment, money in/out, manual entry etc) after creating it (when the time is up, it cannot be changed anymore)

  • Name: GLOBAL_ACCOUNTING_EDIT_MAX_TIME
  • Value: true
  • Int number: here write how many minutes can the document be changed. For example one day, then write 1440 (24*60) 

After adding the rule, save the changes. Log out of the program and log in again for the settings to apply.