Configuration & Settings in Jules
How Jules is configured per organization — reference data, business rules, currencies, ERP integrations, dashboards, and user preferences.
Configuration & Settings in Jules
Product documentation — How Jules is set up per organization to reflect your trading rules, currencies, trade terms, integration endpoints, and dashboard preferences.
Table of Contents
- Overview
- Organization Configuration
- Currencies & Exchange Rates
- Business Rules
- Trade Terms Reference Data
- VAT Configuration
- ERP Integration
- Flags & Alerts
- Stockpiles (Warehouse Configuration)
- Dashboards
- Views & Saved Filters
- Accounts Payable / Receivable (APAR)
- Default Form Parameters
- User Configuration
- Relationships with Other Modules
- Key Business Rules
- Glossary
Overview
Configuration in Jules operates at two levels: organization-wide settings that apply to all users in a tenant, and user-level preferences that each person customizes individually. Everything described in this article lives in the Settings area of the application and is managed by administrators.
Jules is a multi-tenant platform — each organization has its own isolated configuration. No settings bleed across tenants.
Organization Configuration
The organization config is the top-level settings object for an entire Jules tenant. It controls platform-wide behaviors for operations, invoicing, logistics, and display.
Core Settings
| Setting | Description |
|---|---|
organizationName | The display name for the organization |
unitSystem | Whether quantities are displayed in metric (tonnes, kg) or imperial (lbs) units |
defaultShipmentMode | Default mode for new operations: container, bulk cargo, or truck/rail/barge |
bulkCargoEnabled | Whether bulk cargo shipment mode is available to this organization |
csvDelimiter | Character used when exporting data to CSV (e.g., comma or semicolon) |
shouldUseAwsServer | Whether to use AWS storage for document uploads |
Operations Settings
| Setting | Description |
|---|---|
shouldDisableEditApprovedOperation | When enabled, approved operations cannot be edited by regular users |
isDefaultListViewOperationQuality | Whether the operations list defaults to the "by quality" view |
isDefaultPriceFixationAbsolute | Whether price fixation defaults to absolute (vs percentage) mode |
operationQualityChoiceForAllocationSortBy | Default sort order when selecting operation qualities during allocation |
shouldAutoAllocate | Whether Jules automatically proposes allocations when both a buy and sell match |
shouldDeductDeviationWeight | Whether deviation-adjusted weights are deducted from the operation totals |
Operation End Date Offsets
Jules can automatically pre-populate the end date on new operations based on configurable offsets (in days) per operation direction and market type:
| Configuration Key | Description |
|---|---|
EXPORT_BUY | Days offset for export purchase operations |
EXPORT_SELL | Days offset for export sale operations |
LOCAL_BUY | Days offset for local purchase operations |
LOCAL_SELL | Days offset for local sale operations |
Invoicing Settings
| Setting | Description |
|---|---|
shouldInvoiceLoadings | Whether loading events trigger invoice creation |
enableMarkAsCompletedForProforma | Whether proforma invoices can be marked as completed |
shouldUseInvoiceOtherRefForDocFilename | Use the "other reference" field on the invoice as the document filename |
prefillConsigneeFrom | Whether the consignee field on documents is pre-filled from the site or the company |
shouldHideDestinationInDoc | Hide destination information on generated documents |
openInvoiceSettingsOn | Per-invoice-type rule controlling when invoice settings panel opens (on open, on save, or never) |
defaultInvoiceDateOfCreation | Per-invoice-type default date filter applied at invoice creation |
Invoice types covered by openInvoiceSettingsOn and defaultInvoiceDateOfCreation:
| Type | Description |
|---|---|
INVOICE | Standard purchase or sale invoice |
CREDIT_NOTE | Credit note adjusting a previous invoice |
DEBIT_NOTE | Debit note charging additional amounts |
PROVIDER_REPORT | Third-party provider cost report |
PURCHASE_REPORT | Consolidated purchase report |
Display Settings
Jules allows each organization to choose which currency and volume unit is displayed in each major list view. This does not affect the stored currency — it only controls how amounts are presented.
| Setting | Description |
|---|---|
purchasesListDisplayCurrency | Currency shown in the purchases list |
salesListDisplayCurrency | Currency shown in the sales list |
loadsListDisplayCurrency | Currency shown in the loads list |
containersListDisplayCurrency | Currency shown in the containers list |
stocksListDisplayCurrency | Currency shown in the stocks list |
purchasesListDisplayVolume | Volume unit in the purchases list |
salesListDisplayVolume | Volume unit in the sales list |
loadsListDisplayVolume | Volume unit in the loads list |
containersListDisplayVolume | Volume unit in the containers list |
stocksListDisplayVolume | Volume unit in the stocks list |
operationMarginDisplayVolume | Volume unit for margin calculations at the operation level |
Page-Level Configuration
The pageConfig object allows hiding or showing specific UI elements per page:
| Setting | Description |
|---|---|
followUp.hideTabsForExport | On the follow-up page, hide the tabbed view for export operations and only show the container view |
showSearchButtonInInboundsPage | Show explicit search trigger button on the inbounds page |
showSearchButtonInShipmentsPage | Show explicit search trigger button on the shipments page |
shouldShowShipmentTrackingButtons | Display shipment tracking action buttons |
Commercial Targets
| Setting | Description |
|---|---|
targetsIncludeMargin | Whether goals/targets include margin amounts in their calculation |
Posting Period
The postingPeriod defines the open accounting window during which operations and invoices can be posted. It is a date range (minDate / maxDate) configured by the administrator.
Currencies & Exchange Rates
Jules is a multi-currency platform. Currency configuration spans three related modules: Currency, BaseCurrency, and ExchangeRate.
Currencies
The currencies list shows the full list of currencies available to an organization. Each currency has:
| Field | Description |
|---|---|
id | Unique identifier |
value | The ISO currency code (e.g., USD, EUR, GBP) |
shorthand | Optional short display label |
Base Currencies
The base currency concept in Jules allows defining separate reference currencies for different cost types. This enables organizations trading across multiple currency zones to normalize calculations correctly.
| Base Currency Type | Description |
|---|---|
BUY | Reference currency for purchase operations |
SELL | Reference currency for sale operations |
LOGISTIC_COST | Reference currency for logistics and freight costs |
An organization can have multiple base currencies — one per type — allowing separate purchase and sales reporting currencies.
Exchange Rates
Jules maintains two layers of exchange rates:
| Layer | Description |
|---|---|
| Public exchange rates | Automatically fetched rates from external data sources; available to all tenants |
| Organization exchange rates | Manually entered rates that override the public rates for that organization |
ExchangeRate fields
| Field | Description |
|---|---|
sourceCurrency | The currency being converted from |
targetCurrency | The currency being converted to |
rate | The conversion factor (e.g., 1.08 means 1 source unit = 1.08 target units) |
date | The date the rate is effective |
isPublic | Whether this is a public or organization-specific rate |
updatedBy | The user who last updated the rate (for organization rates) |
Overriding rates
Administrators can manually override any rate. Once an organization rate is set, it takes precedence over the public rate. Rates are stored with a timestamp so historical conversion accuracy is preserved.
Business Rules
Business rules control how Jules validates and enforces commercial thresholds. They are configured per organization and applied automatically during operation management.
Closing Rules
Closing rules define conditions that must be satisfied before an operation can be marked as closed. They act as a checklist that Jules verifies when a trader attempts to move an operation to the CLOSED status.
Closing rules are configured by administrators and evaluated against operations at the time of closure. If a rule is not met, Jules will block or warn the user depending on the configuration.
Deviation Rules
Deviation rules trigger alerts when a purchase operation is approaching its end date without sufficient execution progress. The system evaluates each confirmed buy operation against the deviation rules for its quality and market type.
Deviation Rule fields
| Field | Description |
|---|---|
qualityId | The material grade this rule applies to |
marketType | EXPORT or LOCAL — scopes the rule to a market segment |
validityThresholdRate | The timeline completion percentage (0–1) at which the rule activates. E.g., 0.8 means "when 80% of the operation's time window has elapsed" |
quantityLowerThresholdRate | Minimum quantity completion ratio expected by the threshold date |
quantityUpperThresholdRate | Maximum quantity completion ratio (upper bound, for over-delivery risk) |
The deviation check computes how far through the operation's lifespan you are (based on dateOfCreation to endDate) and flags it if the validityThresholdRate is breached while the operation is still CONFIRMED and not sufficiently executed.
Cut-Off Day
The cut-off day setting defines the calendar day within a period (month or week) after which new operations or invoices cannot be posted into that period. This is a key accounting control used to enforce period-end discipline.
Trade Terms Reference Data
These modules define the reference lists that populate dropdowns throughout Jules. They are maintained by administrators and shared across the organization.
Incoterms
Incoterms (International Commercial Terms) define the division of transport, cost, and risk responsibilities between buyer and seller. Jules maintains a curated list of incoterms scoped by market type and operation direction.
| Field | Description |
|---|---|
code | The standard incoterm code (e.g., FOB, CFR, CIF, EXW, FCA, FAS, DDP) |
value | Human-readable label shown in the UI |
marketType | EXPORT or LOCAL — determines which market the incoterm is available for |
type | BUY or SELL — scopes the incoterm to operation direction |
isLogisticBilledBackToSupplier | When true, logistics costs under this incoterm are billed back to the supplier |
Jules filters available incoterms dynamically based on the operation type and market type, ensuring traders only see relevant options.
Payment Terms
Payment terms define when and how payment is due on an operation. They are one of the most customizable reference entities in Jules — each payment term can include multiple slices representing partial payments.
PaymentTerm fields
| Field | Description |
|---|---|
value | Display name of the payment term (e.g., "30 days after BL") |
marketType | EXPORT or LOCAL — scopes the payment term |
flatFee | Optional fixed fee applied on top of the standard price |
percentFee | Optional percentage fee applied on top of the standard price |
companyIds | Optional list of companies this payment term is restricted to |
PaymentTermsSlice fields
Each payment term can have multiple slices representing installments:
| Field | Description |
|---|---|
type | Slice type: ADVANCE (upfront), BALANCE (remainder), or HOLD_BACK (withheld pending conditions) |
amountPercentage | Percentage of the total invoice this slice covers |
referenceDate | The date event this slice is anchored to (e.g., "Bill of Lading date", "Contract date") |
daysDelta | Number of days after the referenceDate when this slice is due |
Modalities
Modalities define the transport or loading modalities available for containers and freight bookings (e.g., "20' standard container", "40' High Cube", "Flat rack"). They are a simple reference list maintained by administrators.
Release Conditions
Release conditions define the contractual conditions under which goods or payment are released (e.g., "Original BL received", "Inspection certificate approved"). They appear as selectable options on operations and invoices.
Sectors
Sectors categorize companies and operations by industry segment (e.g., "Scrap Metal", "Plastics", "Paper & Cardboard"). They are a simple reference list used for filtering and reporting.
VAT Configuration
The VAT configuration module allows Jules to automatically determine the correct VAT rate and clause to apply on an invoice, based on the transaction's characteristics. This eliminates manual VAT selection errors and ensures compliance.
How VAT Config works
Jules evaluates multiple boolean flags about the trade transaction and matches them to a VAT config record that returns the correct rate and clause. The matching logic uses the following conditions:
| Condition | Description |
|---|---|
billingEntityCountry | Country of the billing entity issuing the invoice |
customerSiteCountry | Country of the customer delivery site |
supplierSiteCountry | Country of the supplier's site |
portOfDestinationCountry | Country of the port of destination |
qualityGroup | The material group (e.g., "Ferrous", "Non-Ferrous", "Plastic") |
type | Invoice type (INVOICE, CREDIT_NOTE, etc.) |
isBillingEntityEU | Whether the billing entity is in an EU member state |
isCustomerSiteEU | Whether the customer site is in an EU member state |
isSupplierSiteEU | Whether the supplier site is in an EU member state |
isPortOfLoadingEU | Whether the port of loading is in an EU member state |
isPortOfDestinationEU | Whether the port of destination is in an EU member state |
isScrap | Whether the goods are classified as scrap material |
isBuyIncotermEXWorFASorFCA | Whether the purchase incoterm is EXW, FAS, or FCA |
isSellIncotermEXWorFASorFCA | Whether the sale incoterm is EXW, FAS, or FCA |
isPortOfLoadingCountrySupplierSiteCountry | Whether the port of loading is in the same country as the supplier site |
isCustomerCompanyCountrySupplierSiteCountry | Whether the customer's country matches the supplier site country |
isProofOfDocumentRequired | Whether proof of export document is required for VAT exemption |
VAT Config output
| Field | Description |
|---|---|
vatRate | The applicable VAT rate as a decimal (e.g., 0.20 for 20%) |
vatClause | The legal VAT clause text to print on the invoice (e.g., "VAT exempt — export") |
vatType | Internal VAT classification type |
VAT configuration is filtered based on the billing entity and invoice type, returning only the VAT configs applicable to that billing entity context.
ERP Integration
Jules supports bi-directional synchronization with external ERP systems (such as SAP, Navision, or Sage). When containers are loaded or deliveries are confirmed, Jules can automatically push those events to your ERP, keeping your financial records in sync.
Integration endpoint configuration is handled by your technical team during onboarding.
Flags & Alerts
Flags are annotation markers that users can attach to operations, containers, allocations, and shipments to signal that something requires attention. They are not automated — they are created manually by traders.
Flag types
| Type | Where it applies |
|---|---|
PURCHASE | Flagging a purchase operation |
SALE | Flagging a sale operation |
ALLOCATION | Flagging a buy-sell allocation pair |
CONTAINER | Flagging an individual container |
SHIPMENT | Flagging a shipment |
Flag structure
| Field | Description |
|---|---|
reason | A short reason code explaining why the flag was raised |
comment | Optional free-text comment with additional detail |
createdBy | The user who created the flag |
isDeleted | Soft-delete indicator |
Pre-defined reason codes
Jules provides a set of standard flag reasons:
| Reason | Applies to |
|---|---|
CANCELLATION | Operations — flagged for potential cancellation |
LOADING_SCHEDULE_UPDATED | Operations or shipments — schedule has changed |
NUMBER_OF_CONTAINERS_UPDATED | Operations — container count revised |
TO_BE_CANCELED | Containers — container is marked for cancellation |
TO_BE_RESCHEDULED | Containers — container needs rescheduling |
OTHERS | Any entity — custom reason (free text) |
For "Others" flags, administrators can maintain a library of custom reason codes available to their organization.
Stockpiles (Warehouse Configuration)
Stockpiles represent physical storage locations within a site — they are the warehouse-level configuration that tracks material inventory. Each stockpile belongs to a site and is associated with one or more qualities.
Stockpile fields
| Field | Description |
|---|---|
name | Display name of the stockpile |
site | The site (location) where this stockpile is physically located |
qualities | The material grades that can be stored in this stockpile |
capacity | Optional maximum storage capacity |
unit | The unit of measurement for capacity (tonnes, kg, etc.) |
Stockpiles are used to track incoming and outgoing material flows at the warehouse level, and they feed directly into the KPI dashboard for stock position reporting.
Dashboards
Jules supports embedded analytical dashboards that provide visual KPIs and data visualizations beyond the standard operational tables. Dashboards are configured by administrators and surfaced to users within the application.
Dashboard configuration
| Field | Description |
|---|---|
name | Display name of the dashboard |
description | Short description of what the dashboard shows |
url | The embedded URL (typically a BI tool embed, e.g., Metabase, Tableau, or Sigma) |
Dashboards are accessible directly from the Jules navigation menu. Authentication is handled automatically — users do not need to log in separately to the BI tool.
Built-in Dashboard Queries
Jules also exposes native analytical views used within the built-in dashboard pages:
Product Balance
The Product Balance view provides a real-time view of material positions across operations, broken down by quality, market, and port:
| Filter | Description |
|---|---|
marketType | Filter by EXPORT or LOCAL |
qualityIds | Filter to specific material grades |
portOfDestinations | Filter by destination ports |
groupBy | Group results by quality or origin |
Each product balance record shows the operation's contracted quantity against allocated, booked, loaded, and delivered quantities.
Average Purchase Cost
The Average Purchase Cost view calculates the weighted average purchase cost per quality, filterable by region and subregion. This is used to benchmark sourcing costs across geographies.
Views & Saved Filters
Jules allows users to save their filter combinations as views so they can return to a specific data perspective quickly. Views are personal by default but can be shared across the organization.
View fields
| Field | Description |
|---|---|
name | Display name of the saved view |
filters | The filter state saved in the view (date ranges, quality filters, assignee filters, etc.) |
columns | The column configuration saved alongside the view |
isShared | Whether the view is visible to all users in the organization |
order | Display order of the view in the sidebar |
Administrators can reorder views across the organization to promote the most useful ones to the top of the list.
Accounts Payable / Receivable (APAR)
The APAR module provides a consolidated view of outstanding payables and receivables across all operations. It aggregates invoice data and payment term slices to give traders and finance teams a single source of truth for cash flow visibility.
APAR record fields
| Field | Description |
|---|---|
operation | The linked operation |
company | The counterparty (supplier or customer) |
invoiceType | Whether this is a payable (BUY) or receivable (SELL) |
dueDate | The payment due date, calculated from payment term slices |
amount | The outstanding amount |
currency | The currency of the outstanding amount |
status | Payment status: PENDING, PARTIAL, or PAID |
APAR records are read-only — they are derived from invoice and payment term data and cannot be edited directly.
Default Form Parameters
Jules can pre-fill certain form fields based on the user's recent activity or administrator-defined defaults. This reduces data entry time and improves consistency.
Default form parameters are resolved at the time a new form is opened and applied as initial values. Users can override any pre-filled value before saving.
Supported defaults
| Parameter | Description |
|---|---|
quality | Last-used quality for the current user |
site | Last-used site for the current user |
incoterm | Last-used incoterm |
paymentTerm | Last-used payment term |
currency | Last-used currency |
billingEntity | Last-used billing entity |
User Configuration
Each Jules user has a personal configuration profile that controls their individual experience within the platform. This is separate from the organization-wide settings and can be updated by each user from their profile settings.
User config fields
| Field | Description |
|---|---|
language | Display language for the UI |
defaultOrganization | The organization loaded by default at login (for users with access to multiple tenants) |
notificationPreferences | Which event types trigger in-app or email notifications |
timezone | User's local timezone for date/time display |
Relationships with Other Modules
Configuration settings in Jules underpin nearly every other module in the platform. The table below shows key dependencies:
| Module | Configuration dependency |
|---|---|
| Operations | Organization config (unit system, auto-allocate, deviation rules, closing rules) |
| Invoicing | VAT config, payment terms, invoicing settings, billing entity defaults |
| Logistics | Incoterms, modalities, stockpiles |
| Finance | Currencies, exchange rates, base currencies, posting period, cut-off day |
| Dashboards | Dashboard URLs, product balance filters, average cost filters |
| Flags | Flag reason codes |
| APAR | Payment term slices, invoice status |
Key Business Rules
- Organization config is tenant-scoped — changes to organization settings affect all users in that tenant immediately.
- User config is personal — changes to user preferences only affect that individual user.
- Exchange rates resolve in order — organization rates always take precedence over public rates. If no organization rate exists, the public rate is used.
- VAT config is deterministic — given the same set of transaction flags, the same VAT rate and clause will always be returned. There is no manual VAT override at the invoice level.
- Deviation rules are evaluated at the operation level — they apply to confirmed buy operations only and are recalculated on each check.
- Closing rules are blocking — if a closing rule is not satisfied, the operation cannot transition to
CLOSEDstatus. - Posting period is enforced globally — no invoice or operation can be posted outside the configured
minDate/maxDatewindow. - Stockpile quantities are derived — Jules calculates stock positions from load and delivery events; quantities are never entered manually.
Glossary
| Term | Definition |
|---|---|
| Tenant | An isolated Jules environment for one organization |
| Organization config | Top-level settings controlling platform behavior for all users in a tenant |
| User config | Personal preferences scoped to a single user |
| Base currency | The reference currency used to normalize amounts for a specific cost type (buy, sell, or logistics) |
| Public exchange rate | A rate automatically sourced from external market data and available to all tenants |
| Organization exchange rate | A rate manually set by an administrator that overrides the public rate for that tenant |
| Posting period | The open date range during which financial records can be posted |
| Cut-off day | The day within a period after which no new postings are accepted into that period |
| Closing rule | A configurable condition that must be met before an operation can be closed |
| Deviation rule | A threshold-based alert that triggers when a confirmed operation is under-executed relative to its timeline |
| Incoterm | An internationally recognized trade term defining responsibility for transport, cost, and risk |
| Payment term | A structured set of rules defining when and how payment is due, including multiple installment slices |
| VAT config | A rule set that maps transaction characteristics to a VAT rate and clause |
| Stockpile | A physical storage location within a site, used to track material inventory |
| APAR | Accounts Payable / Receivable — a consolidated view of outstanding financial obligations |
| View | A saved filter and column configuration that allows users to return to a specific data perspective |
| Flag | A manual annotation attached to an operation, container, allocation, or shipment to signal that attention is needed |
Last updated today
Built with Documentation.AI