action.skip

What do error messages mean?

← Setup and Service FAQ ← Salesforce Environment FAQ

When operating JustOn Billing & Invoice Management, errors may occur – either produced by the JustOn package or by the Salesforce platform. These messages usually point to possible reasons.

This article lists a number of common messages and indicates possible solution approaches.

Info

If you are not able to find and correct the error, do not hesitate to contact JustOn Support. File a ticket, adding the error message (see How to file a support request with JustOn).

Message Possible Reason
Solution Approach
Attempt to de-reference a null object JustOn tries to use something that is not accessible – caused, for example, by a missing permission to access an object or field, or because some required template or custom setting just do not exist.
Check the user's permissions and verify that the relevant configuration is correct and complete.
If you bundle JustOn permission sets in permission set groups, always make sure their status is Updated. This indicates that the bundled permissions are up-to-date.
Insert not allowed
or
Update not allowed
The user is missing the permission to create or update a certain record.
Check the log file to see which object or object field is not creatable. If necessary, correct the relevant permissions.
If you bundle JustOn permission sets in permission set groups, always make sure their status is Updated. This indicates that the bundled permissions are up-to-date.
You are not allowed to upsert a record of type ONB2__BatchJobChain__c The user is missing the permission to create or update Batch Job Chain records (information about running batch chains).
Check the user's permissions – the permission set JustOn Read/Write allows read/write access to the Batch Job Chain object.
If you bundle JustOn permission sets in permission set groups, always make sure their status is Updated. This indicates that the bundled permissions are up-to-date.
Apex CPU time limit exceeded
or
Apex heap size too large
Salesforce enforces limits so that certain code or processes do not monopolize shared resources. However, it allocates more computing resources to batch processes (asynchronous transactions) than to other code (synchronous transactions): more SOQL queries, more CPU time, more memory (see Execution Governors and Limits in the Salesforce Help).
Whenever possible, invoke operations from list views instead of a detail view. Using batch processes allows for handling more data and executing more calculations in one operation.
Try to limit the number of records to be processed in one go (see Batch Settings).
Other than that, consider automating and scheduling large bulk operations to be executed at night or on weekends. This is a simple way to distribute the load your that org produces: resource-consuming processes run when no (or only a few) users are online, and your users can do their work without being slowed down by bulk jobs.
No valid target (sObject, sObjectType or sObjectName) set for query (ContentWorkspaceDoc) or insufficient permissions The user is trying to access Salesforce Files, like, for example, when sending invoice emails with the PDF files attached.
Make sure that Salesforce CRM Content is enabled for your org and the user is set up as a Salesforce CRM Content User (see How to avoid ContentWorkspaceDoc errors?)
SQLException in Class.ONB2.PlaceholderGenerator.get [...] Class.ONB2.Tokenizer.getPlaceholders [...] Class.ONB2.TextRenderer.render [...] Class.ONB2.TextRenderer.renderWithPlaceholders [...] Class.ONB2.TextRenderer.renderTextWithPlaceholders [...] JustOn tries to render a placeholder that does not exist. This may be the case, for example, with square brackets in product titles or descriptions, payment information texts, etc. that do not enclose placeholders.
Replace the square brackets with their HTML entities, like [ and ], or with round brackets.
You are not allowed to upsert a record of type Task
Error is in expression '{!send}' in component <apex:commandButton> in page onb2:send: (ONB2)
The user is missing the permission to create or update a Task record when trying to send invoice emails or dunning reminder emails.
You must explicitly allow Read and Edit access to the Type field of the Task object, as described in Enabling Access for New Users.
Only invoices that are due for payment are subject to dunning processes. The user is trying to create a dunning reminder for a deposit invoice or a pro forma invoice, which usually do not constitute legally binding payment requests.
Enable the option to issue dunning reminders for deposit or pro forma invoices using the corresponding global setting Allow Pro Forma / Deposit Dunnings, as described in Enabling Dunning Reminders for Deposit Invoices and Enabling Dunning Reminders for Pro Forma Invoices.
No invoice created, because there have been no line items created JustOn or a user are trying to generate invoices from subscriptions where the subscription period or the item period are outside the invoice run period.
Check the start dates and end dates of the subscriptions and the items as well as Next Service Period Start of (recurring) items. The defined periods must map at least partially for invoice line items and invoices to be created.
For details, see How do subscription period, item period and invoice (run) period map? and How does JustOn determine the billing behavior for recurring items?
BatchFinalizeInvoice: First error: Upsert failed. First exception on row 0; first error: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, insufficient access rights on cross-reference id: [...] The user who has started the invoice finalization batch job is missing the permission to access a record that is associated (via a lookup or otherwise) to the invoice.
Review the access permissions or sharing settings for all involved invoice source records or otherwise related records, including account, contact, etc.
Batch Chain Error [...] UNABLE_TO_LOCK_ROW [...] JustOn is trying to execute a batch chain on some records while Salesforce executes another (scheduled) job on the same records. This is not possible because Salesforce locks records being updated or created to prevent other operations from changing the records at the same time, which would cause data inconsistencies (see, for example, Error 'Unable to lock row - Record currently unavailable' in the Salesforce Help).
Make sure to schedule jobs so that they will not be executed at the same time.
AccountingDetail insert: FIELD_CUSTOM_VALIDATION_EXCEPTION: The account number must have a value between (10 power of (accounting length + 1)(eg SKL4:10000) and 7 times (10 power of (accounting length) -1 (eg SKL4: 69999); fields [DATEV1__BpAccountNo__c [...] The user is trying to transfer booking data to DATEV but has not previously set the length of the ledger account number.
The user must create an individual settings record, defining the length of the ledger account number (Sachkontenlänge).
Division by zero on field FactorizedUnitPrice for Id null JustOn is trying to operate on the outdated field Factorized Unit Price (removed with JustOn 2.43).
Remove the outdated field from your JustOn Billing & Invoice Management installation, as described in How to avoid errors due to an outdated field?
Error Id: [...] This message refers to an error logged in an error report. File a JustOn Support ticket, adding the error ID and the information saved to the corresponding error report record.
For details, see How to handle error reports?.
Error: No dunning level available JustOn or a user are trying to create dunning reminders without available dunning levels configurations, either because there are no dunning levels configured or none of the available dunning levels is applicable under the current conditions.
Review the configured dunning levels, especially details like Grace Period and Condition to assess their applicability.
System.SObjectException: SObject row was retrieved via SOQL without querying the requested field: Attachment.Body JustOn or a user are trying to finalize a cancellation invoice where the related invoice (the one to be canceled) was created using an invoice run, which has a log file attached to it.
Check the invoice run that has produced the invoice to be canceled for attached log files. Change the file extension of the attached log file to .bak and delete the attachment description.
You may have to switch to Salesforce Classic to do so.