Skip to content

Technical Information

This document provides basic technical information about JustOn, a software for creating and managing electronic invoices. With JustOn, you can automatically capture costs, create according invoices, check, approve and distribute the invoices, file invoices for archiving and, if set up, register payments made in 3rd-party systems. In addition, JustOn combines and checks the customer and contract data that makes up the base for the invoice creation, and it can manage your accounts receivable.

Info

JustOn runs as an integrated application on Force.com, the cloud-based platform for software development and operation from Salesforce.

Platform

Software Description
Force.com Salesforce's software development and operating platform

JustOn's operating platform is the cloud-based Force.com infrastructure. 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.

sf_arch
JustOn is an integrated app on Force.com

The cloud-based PaaS infrastructure Force.com is a high availability platform. You can always check the availability of the individual services and data centers on https://trust.salesforce.com.

TÜV Rheinland has certified Force.com 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 App Cloud FAQ.

Invoicing System

Software Description
JustOn billing and invoice management application, integrated in Force.com cloud

JustOn is a SaaS application that is deployed in the cloud-based PaaS infrastructure Force.com.

JustOn is developed using the the features provided by Force.com 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 Force.com in the Salesforce documentation.

JustOn's operation and data storage is handled by European data centers. The current data center is shown in the URL prefix of the the JustOn application (EU0-EU11).

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 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

mapping_invoicing_objects
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 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 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(
ISPICKVAL(
ONB2__Type__c,
'Tax Delta'
),
ONB2__UnitPrice__c,
ROUND(
IF(
ONB2__IsDiscountEmpty__c,
ONB2__FactorizedUnitPrice__c + ONB2__DiscountAmount__c,
ONB2__FactorizedUnitPrice__c * (1 - ONB2__Discount__c)
),
2
) +
IF(
ONB2__GrossInvoice__c,
0,
ONB2__AEDiscountAmount__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:

grandtotal Calculating the grand total using a Roll-Up Summary

The following code shows the formula for determining the tax (PosTotalTax) that is applied when calculating the gross value of an invoice line item:

IF(
ISPICKVAL(
ONB2__Type__c,
'Tax Delta'
),
ONB2__UnitPrice__c,
ROUND(
(IF(
ONB2__IsDiscountEmpty__c,
ONB2__FactorizedUnitPrice__c + ONB2__DiscountAmount__c,
ONB2__FactorizedUnitPrice__c * (1 - ONB2__Discount__c)
) + IF(
ONB2__GrossInvoice__c,
0,
ONB2__AEDiscountAmount__c
)
) *
IF(
ONB2__GrossInvoice__c,
1 - 1 / (1 + ONB2__TaxRate__c),
ONB2__TaxRate__c
),
2
)
)

The tax rate to apply (Tax Rate) results from tax rules ("Tax Rules"), which are set up on a project-specific base and saved as custom settings in JustOn. JustOn allows for combining the following data to define tax rules:

Field Description
Tenant Specifies the tenant 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 accesible 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 makes use of two standard Force.com 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 ensures the data integrity of the records stored in the Force.com 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 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 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 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 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 Cancellation
Credit cancellation Invoice Cancellation
Partial reclaim Invoice Partial Credit

Invoice Documents

For every generated electronic invoice, JustOn stores a record in the database of the Force.com 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 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 Invoices and Templates).

In addition, JustOn 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

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"],
        "taxRow":["TaxAmount","TaxRate__c","AppliedTaxRule__c"]
    },
    "rowOrder":["invoiceHeaderRow","invoiceRow","lineItemRow","taxRow"],
    "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
Force.com invoice distribution by email from JustOn

For distributing documents by email, JustOn uses the email service provided by the Force.com platform (see An Introduction to Email Services).

Client-Side Infrastructure

Users access JustOn 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, is not part of this technical information and is to be covered in a project-specific documentation as required.

Data Security

The Force.com 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 Force.com 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), 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 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

passw_policy
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 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 An Overview of Force.com Security in the Salesforce Help.

Permissions and Roles

The Force.com 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 ships with the following default permission sets:

Permission Set Description
JustOn Full Access Read/write access to JustOn objects, irrespective of any role-based restrictions
JustOn Read Only Read-only access to JustOn objects
JustOn Read/Write Read/write access to JustOn objects, is assigned to all users with the first installation
JustOn 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 the Force.com platform three times per year (Spring, Summer and Winter releases). All updates are applied automatically in a timely manner. This way, Salesforce always guarantees a current, secure environment for integrated applications like JustOn.

JustOn is continuously updated, too. There are new feature releases at least two to four weeks after Salesforce has updated the Force.com platform. If necessary, bugfix releases are published more frequently. Continuous development, update and bug fixing are essential to the legally permissible operation of an e-invoicing application 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.

The companies that use JustOn are responsible for updating the software used to access JustOn (OS, web browser, PDF viewer).