Basic Technical Information
This document provides basic technical information about JustOn Billing & Invoice Management.
JustOn Billing & Invoice Management is a software for creating and managing electronic invoices.
It combines and checks the customer and contract data that make up the basis for the invoice creation. With JustOn Billing & Invoice Management, you can automatically capture costs, create according invoices, check, approve and distribute the invoices. It supports filing invoices for archiving purposes and, if set up, registering bookkeeping data in accounting systems.
In addition, JustOn Billing & Invoice Management allows for tracking payments and, based on the data obtained therefrom, managing your accounts receivable.
For further explanatory documentation, see JustOn Concepts Outline.
Info
JustOn Billing & Invoice Management runs as integrated application on Salesforce Platform and Heroku, the cloud-based platforms for software development and operation from Salesforce.
Platform
Software | Description |
---|---|
Salesforce Platform | Salesforce's platform for developing and operating software additions to Salesforce CRM |
Heroku | Salesforce's platform for developing and operating containerized software |
JustOn Billing & Invoice Management runs as integrated application on Salesforce Platform and Heroku, the cloud-based platforms for software development and operation from Salesforce. Generally, the data management and user interaction with JustOn Billing & Invoice Management take place on the Salesforce Platform. For this purpose, the software is installed in the operator's Salesforce CRM environment. Some optional business logic, however, runs on the Heroku-based platform, including
- JustOn PDF rendering service
- e-invoice creation and distribution
As JustOn Billing & Invoice Management is developed using the features provided by Salesforce Platform and Heroku, it is completely integrated in these environments with respect to security, availability, confidentiality, processing integrity, and privacy.
The operation and maintenance of the globally distributed data centers is governed by Salesforce. This is why users can rely on Salesforce's proven and tested security. All Salesforce data centers and services are certified compliant with the ISO 27001, SAS 70 Type II, PCI-DSS and Systrust security standards.
JustOn is an integrated app on Salesforce Platform and Heroku
The cloud-based PaaS infrastructures Salesforce Platform and Heroku are high availability platforms. You can always check the availability of the individual services and data centers on https://trust.salesforce.com.
TÜV Rheinland has certified Salesforce Platform with respect to the German regulations about the exposure of personal data. Salesforce has approved Binding Corporate Rules with the European Union that guarantee the compliance with the legal regulations on the protection and security of personal data. Unauthorized access to personal data by Salesforce employees shall be excluded.
Please find additional information about the Salesforce cloud platform in the Platform FAQ.
Invoicing System
Software | Description |
---|---|
JustOn Billing & Invoice Management | billing and invoice management application, integrated in Salesforce Platform cloud |
JustOn Billing & Invoice Management is a SaaS application that is deployed in the cloud-based PaaS infrastructure Salesforce Platform.
JustOn Billing & Invoice Management is developed using the features provided by Salesforce Platform and thus, completely integrated in Salesforce's software development and operating platform with respect to
- Security
- Business logic
- Data storage and exchange
- User interface
Please find additional information about the app integration in Salesforce Platform in Understand the Salesforce Architecture.
The operation and data storage of JustOn Billing & Invoice Management is handled by European data centers. The current data center is shown in the URL prefix of the application (EU0-EU16).
Invoice Generation and Booking Details
Usually, generating invoices and creating booking details takes three steps:
- Generating draft invoice: New invoices have the status Draft. You can check draft invoices for correctness and edit them as necessary.
- Finalizing invoice: Finalizing an invoice sets the status to Open, making the invoice effective, that is, due for payment.
- Creating booking detail: Upon invoice finalization, JustOn creates booking details based on the invoice information. Users can then export the booking details to accounting systems like, for example, DATEV.
By default, JustOn Billing & Invoice Management determines the booking period and the booking date based on the invoice run data. On a project-specific base, you can configure other dates to be used here, for example, the service period or due date.
The following objects are involved when generating invoices and creating booking details:
Step | Input | Output |
---|---|---|
Generating draft invoice | Account Subscription Tax rule G/L account Invoice template |
Invoice Invoice line item Log file |
Finalizing invoice | Account Subscription Tax rule G/L account Invoice template Number range |
Invoice Invoice line item Log file |
Creating booking detail | Invoice Invoice line item |
Booking detail |
Objects involved in invoice and booking detail generation
For an overview of all data included in booking details, refer to the Booking Detail object reference.
Tax Calculation
JustOn Billing & Invoice Management calculates the taxes line by line, that is, individually for each invoice line item, and then sums the resulting item totals.
Appropriately programmed features guarantee that JustOn Billing & Invoice Management correctly calculates the totals on a line basis and correctly balances possible rounding differences. In addition, it supports specific rounding rules, for example, for Switzerland.
The following code represents the formula for calculating the gross value (PosTotalGross) of an invoice line item (Invoice Line Item):
IF(
ONB2__IsTaxDelta__c,
ONB2__UnitPrice__c,
ROUND(
ONB2__PosPriceDiscounted__c,
ONB2__DecimalPlacesFallback__c
) +
IF(
ONB2__GrossInvoice__c,
0,
ONB2__PosTotalTax__c
)
)
The grand total (GrandTotal) of an invoice (Invoice) is determined by adding (Roll-Up Summary) the values for PosTotalGross of each invoice line item:
Calculating the grand total using a Roll-Up Summary
With the internal tax calculation, the tax (PosTotalTax) that is applied when calculating the gross value of an invoice line item is based on the formula in CalculatedTax:
ROUND(
ONB2__PosPriceDiscounted__c *
IF(
ONB2__GrossInvoice__c,
1 - 1 / (1 + ONB2__TaxRate__c),
ONB2__TaxRate__c
),
ONB2__DecimalPlacesFallback__c
)
The tax rate to apply (Tax Rate) results from tax rules, which are set up on a project-specific base and saved as custom settings. JustOn Billing & Invoice Management allows for combining the following data to define tax rules:
Field | Description |
---|---|
Business Entity | Specifies the business entity as defined on the invoice |
Invoice Region | Specifies the region as defined on the subscription or the account |
Invoice Country | Specifies the LegalCountry as defined on the subscription or the ShippingCountry or BillingCountry as defined on the account |
Invoice State | Specifies the LegalState as defined on the subscription or the ShippingState or BillingState as defined on the account |
Account Tax Class | Specifies the tax class as defined on the account |
Product Tax Class | Specifies the tax class as defined on the product |
Product Group | Specifies the product group as defined on the item |
Tax Rate | Specifies the tax rate to be applied with this rule |
Tax Code | Specifies the tax code (for accounting systems like SAP, for example) to be applied with this rule |
The formulas or data types that are used for the calculation are visible on the objects Invoice and Invoice Line Item, which are accessible via Setup > Object Manager > Invoice or, respectively, Setup > Object Manager > Invoice Line Item.
The project-specific tax rules are accessible via Setup > Custom Code > Custom Settings > Tax Rules.
Software-Internal Error Handling
In order to avoid saving wrong data, JustOn Billing & Invoice Management makes use of two standard Salesforce Platform mechanisms: record locking and validation rules.
Record locking prevents concurrent access to records. If a user performs a write operation on a record, the platform locks this record: other users can read the record but not make changes. Once the write operation is finished, the lock is released, and other users can again modify the record. Correspondingly, SOQL statements (code for manipulating records) include the expression FOR UPDATE
, for example
Account [] accts = [SELECT Id FROM Account LIMIT 2 FOR UPDATE];
This way, JustOn Billing & Invoice Management ensures the data integrity of the records stored in the Salesforce Platform database.
For details about record locking, see Apex Developer Guide | Locking Statements.
Validation rules verify that data entered by users in records meet the standards JustOn Billing & Invoice Management or the operating company specify before they can save it. Validation rules contain a formula or expression that evaluates the data in one or more fields and return true or false.
By default, JustOn Billing & Invoice Management includes validation rules for the following objects:
- Balance
- Booking Period
- Dunning
- Invoice
- Item
- Payment
- Sales Order Line Item
- Subscription
- Tier
If required, you can configure additional validation rules for JustOn objects or standard Salesforce objects on a project-specific base.
For more details, see Validation Rules in the Salesforce Help.
Processing Control
With each invoice run, JustOn Billing & Invoice Management can write a log file that includes records of the performed steps using the following pattern:
timestamp | user ID | business logic class | severity | message
That is, a log file record could look, for example, as follows:
2017-05-29 16:17:30 +0200 | 0050Y000000GJvrQAG | BatchInvoiceRun | INFO | Number of records per execute: ["1","1"]
This feature is not enabled by default. Users can, however, enable it just setting the Log Level INFO
in the Global Settings.
Posting Key
External systems (for example, accounting systems like SAP) capture information like account type, debit/credit, cancellation, etc. using specific posting keys. JustOn Billing & Invoice Management saves this information on the invoice using the attributes invoice class and invoice type. Different combinations of these attribute values represent specific meanings in accounting.
Meaning | Invoice Class | Invoice Type |
---|---|---|
Invoice | Invoice |
|
Installment invoice | Invoice |
Installment |
Credit memo | Credit |
|
Partial credit memo | Credit |
Partial Credit |
Invoice cancellation | Credit |
Cancelation |
Credit cancellation | Invoice |
Cancelation |
Partial reclaim | Invoice |
Partial Credit |
Invoice Documents
For every generated electronic invoice, JustOn Billing & Invoice Management stores a record in the database of the Salesforce Platform. The objects Invoice and Invoice Line Item hold all fields into which the corresponding information is written.
Object | Data Fields |
---|---|
Invoice | Invoice object reference |
Invoice Line Item | Invoice Line Item object reference |
Export Interfaces
By default, JustOn Billing & Invoice Management creates PDF documents for invoices. The produced PDF files are distributed by email (or other additional means) and can be exported and archived. Users can configure the contents of the PDF documents using templates (see Templates).
In addition, JustOn Billing & Invoice Management can export invoices to other formats like CSV or XML, which can then be consumed by external systems. Depending on project-specific requirements, you set up the export type, the data to be included, etc.
Info
Invoice records are the single source of truth. They hold – immutably after finalization – all legally relevant information. The information included in the exported files (PDF, CSV oder XML) constitute copies of the data as stored in the database record.
The following code illustrates a possible configuration for exporting invoices to CSV as an example:
{
"rows":{
"headerRow":["Custom CSV Export of Open Invoices","TimeStamp","UserName"],
"invoiceHeaderRow":["Number","Date","Amount"],
"invoiceRow":["Name","Date__c","GrandTotal__c"],
"lineItemRow":["Quantity__c","PosTotalNet__c","PosTotalTax__c","invoice.PaymentDueDate__c","GLAccount__c","Center__c"],
"combinedTaxRow":["TaxAmount","TaxRate__c","AppliedTaxRule__c"]
},
"rowOrder":["invoiceHeaderRow","invoiceRow","lineItemRow","combinedTaxRow"],
"rowFilter":{
"lineItemRow":[
{
"field":"Type__c",
"equals":true,
"value":"Information"
}
]
},
"decimalPlaces":{
"calculated":{
"TaxAmount":2
},
"Invoice__c":{
"GrandTotal__c":3
},
"InvoiceLineItem__c":{
"Quantity__c":0
}
},
"markAsExported":false,
"columnSeparator":";",
"useASCII":false,
"options":{
"decimalSeparator":".",
"groupingSeparator":"'",
"dateFormat":"yyyy-MM-dd",
"timeFormat":"HH:mm",
"language":"en"
}
}
Email System
Software | Description |
---|---|
Salesforce Platform | invoice distribution by email from JustOn Billing & Invoice Management |
For distributing documents by email, JustOn Billing & Invoice Management uses the email service provided by the Salesforce Platform (see Send Email from Salesforce in the Salesforce Help).
Client-Side Infrastructure
Users access JustOn Billing & Invoice Management using a web browser via a secure connection (HTTPS), where a Salesforce user account generally secures the access and makes any actions attributable to a dedicated user.
The description of the clients' IT infrastructure, like the OS or browsers used to access JustOn Billing & Invoice Management, is not part of this technical information and is to be covered in a project-specific documentation as required.
Data Security
The Salesforce Platform and the integrated applications offer numerous security features and configuration options that provide for a comprehensive data security. This covers topics like user and tenant authentication, permission assignment, data access control and sharing models, including
Organization security: Salesforce protects an organization's data from all other organizations by using a unique identifier that restricts access at every level to the data from anyone outside of the organization – including Salesforce employees.
User security: User authentication combined with network-level security by IP address, session restrictions, and audit trails provides control and visibility into what users are doing in the system and their field history.
Programmatic security: Configurable, authenticated sessions secure access to logic, data, and metadata. In addition, Salesforce offers a source code scanner that analyses the code of the apps developed on Salesforce Platform and produces a report that documents its security.
Trust and visibility: Salesforce displays real time information on system performance and security (see trust.salesforce.com), and offers tips on best security practices.
Please find further information about app and data security in the Salesforce Security Guide.
The authorization procedures, which ensure access protection and, consequently, data security (that is, the protection of master and transaction data against manipulation in JustOn Billing & Invoice Management), include
User Authentication
Basically, companies secure the access to their Salesforce org – and hence, to their data – through maintaining a list of authorized users, setting password policies, and limiting logins to certain hours and locations.
Each time users log in to Salesforce, they must enter their unique username and password. Depending on their organization's requirements, administrators can set custom login and password policies for their org. JustOn Billing & Invoice Management provides the following default settings:
Setting | Default Value |
---|---|
Password validity period | 90 days |
Password length | 8 characters |
Password complexity | Must mix alpha and numeric characters |
Password question requirement | Cannot contain password |
Maximum invalid login attempts | 10 |
Lockout effective period | 15 minutes |
JustOn's default password policy
For more details, see Set Password Policies in the Salesforce Help.
Salesforce provides additional identity verification tools that enhance an org’s security by requiring a second level of authentication for every user login. Depending on their requirements, companies that use JustOn Billing & Invoice Management can apply these tools to protect their master and transaction data from unauthorized access. The tools include:
Salesforce Authenticator Mobile App: Using the Salesforce Authenticator app for mobile devices, users can verify their Salesforce account activity. Salesforce sends a push notification to the mobile device, and the user can verify and approve the activity details.
U2F Security Key: Users can register a U2F security key with their Salesforce account. Salesforce then prompts the user to insert the security key into the computer’s USB port.
One-Time Password Generator: If users have connected an authenticator app (like Salesforce Authenticator or Google Authenticator) to their Salesforce account, the mobile app generates a verification code, which is used as a "time-based one-time password".
SMS Text Message: If users have a verified mobile number associated with their Salesforce account, they receive a verification code in a text message sent to their phone. Salesforce then prompts the users to enter the code upon login.
Email: Salesforce sends a verification code in an email to the address associated with a Salesforce account.
For more details, see Two-Factor Authentication and Salesforce Security Guide.
Permissions and Roles
The Salesforce platform provides a flexible, layered data sharing design that allows to expose different data sets to different sets of users. This way, users can do their job without seeing data they do not need to see, which helps to minimize the risk of abuse and loss of data.
Organization: Organizations allow accessing authorized users only, if required, limited to specific times and locations.
Objects and fields: Permissions and permission sets allow accessing objects and object fields. That is, they control which data users can see and edit.
Records: Using roles and sharing rules, you can limit the access to specific records.
JustOn Billing & Invoice Management ships with the following default permission sets:
Permission Set | Description |
---|---|
JustOn Billing Full Access | Read/write access to JustOn objects, irrespective of any role-based restrictions. Can be used only in combination with the Read/Write permission set. |
JustOn Billing Read Only | Read-only access to JustOn objects. |
JustOn Billing Read/Write | Read/write access to JustOn objects. Required for creating/modifying as well as emailing/exporting records. |
Payment Guest | Specific permission set for using payment service integrations. |
Organization users, roles and sharing rules are to be created individually on a project-specific base.
Updates and Upgrades
Salesforce updates Salesforce Platform three times per year (Spring, Summer and Winter releases). All updates are applied automatically in a timely and seamless manner. Heroku, too, is continuously updated without interrupting its operation. This way, Salesforce always guarantees a current, secure environment for integrated applications like the JustOn software.
JustOn software is also continuously updated. There are new feature releases at least two to four weeks after Salesforce has updated the Salesforce Platform. If necessary, bugfix releases are published more frequently. Continuous development, update and bug fixing are essential to the legally permissible operation of invoicing, payment or accounting-relevant applications and make sure that the software can be adjusted to changing legal regulations about data protection or tax-relevant data, providing for a seamless and safe operation.
Info
Operators that use JustOn software are responsible for updating the software used to access JustOn software (operating system, web browser, PDF viewer).
Software Versioning Strategy
The version numbering format for JustOn Billing & Invoice Management follows Salesforce's package versioning scheme as described in About Package Versions | Salesforce Help. The version number has three parts, major.minor.patch
, where
major
indicates large-scale, extensive changes to a productminor
indicates noticeable additions or modifications, but without essential changes to the behaviorpatch
indicates fixes for existing functionality
JustOn publishes approximately three minor JustOn Billing & Invoice Management versions per year. With respect to JustOn Billing & Invoice Management certifications, this means that an upgrade from a certified version, like 2.89, to a version 2.90 or 2.91 may add, modify or fix functionality, but without essential changes to the behavior. So a minor upgrade will never change any functionality or behavior that is relevant for the fiscal or legal compliance.
In this context, JustOn differentiates between the technical version number, like 2.89, and the fiscal version name, which will be attributed upon each re-certification of the software like
[COUNTRY-CODE]-[CERTIFICATION-IDENTIFIER]-[VERSION]
This produces the following fiscal versions:
FR-NF203-D 438-001
(year 2021)
FR-NF203-D 438-002
(year 2022)
FR-NF203-D 438-003
(year 2023)
where 001
is the continuous yearly numbering of the fiscal version, which is set after each re-certification.
Each release of a new JustOn Billing & Invoice Management version produces a new Salesforce package. Under Setup > Installed Packages > JustOn, the following versioning information is available:
Field | Value |
---|---|
Version Number | 2.92 |
Version Name | Release 2.92 (FR-NF203-D 438-003, DE-GOBD-001) |