All of the electronic signatures of POS events and data are done as SHA1 hashes and signing with RSA 2048-bit certificates.
The values that the solution hashes and signs are all calculated and concatenated according to InfoCerts NF525 Cash Management Software Requirements Version 2.1.
As part of the French NF 525 compliance, it is required that we document how our versioning works and how we maintain compliance while changing the software.
Starting with the Business Central version of the french NPRetail solution, it is developed using continuous integration principles on the azure devops platform.
This means that we have methodologies in place that track all changes done by our developers and automated tests written specifically for maintaining NF525 compliance that run before approving every single change, to make sure we block any change that would break the fundamentals of the NF 525 requirements.
We have tests for NF525 that cover the following scenarios:
- Purchase Signature
- Ticket Grand Total Signature
- Duplicate (Reprint) Signature
- Void (Return) Signature
- Daily Z-report Signature and JET events
- Monthly Period Signature
- Yearly Period Signature
- Monthly Period Archival Signature
- Login Signature and Setup safeguard
- Cancel Sale Signature
- Voucher and Item in same sale, grand total & custom JET event
- Broken Signature Chain
- Partner Modification Signature
- Archive Schema Test
The version number of the NPRetail application is 4 digits, but only the second and third are related to our functionality: The second digit is our major release number while the third is our hotfix release number.
The first tracks the minimum required version of the business central platform maintained by MS and the fourth is an internal revision number used by our automated build procedures.
An example of how this might look can be seen here:
NPRetail version 1800.6.0.39, means:
1800 = This build depends on Business Central 18.0 as the minimum version from MS.
6 = The major version of NPRetail
0 = The hotfix version of NPRetail
39 = The internal build revision number of NPRetail.