Action
An Action defines the directional type of a stock transaction β essentially whether a transaction represents an inflow or an outflow of goods. In the stock context, every transaction (Trans) is associated with exactly one Action, which determines how that transaction is interpreted by the stock accounting logic: a goods receipt Action increases the warehouse balance, while a goods issue Action decreases it.
Address
An Address is a contact and location record belonging to a partner. A single partner can hold multiple addresses, each serving a different purpose: a primary business address for correspondence, a dedicated billing address for invoices, one or more delivery addresses for goods dispatch, and site addresses for individual farm locations or warehouses. Each address type is distinguished by an address type classification, and one address per partner can be flagged as the default.
Article
An Article represents a tradeable product or commodity in the system β for example an agricultural raw material, a processed food product, or a physical good. It is the core item master data entity that serves as the reference point across the entire platform: articles appear on contracts, contract positions, recipe positions, transaction positions, price lists, and enquiry properties. Nearly every operational workflow β from agreeing a trade to weighing goods at intake to generating an invoice β references an article.
ArticlePacking
An ArticlePacking defines a specific packaging form for an article β the physical container or unit in which a commodity is handled, stored, or transported. Examples include "25 kg bag", "1000 kg big bag", "IBC container", or "bulk (loose)". Each packing variant can carry a standard weight (tare weight of the packaging itself), which is used at the weighbridge to automatically calculate net weight from gross weight when the packaging is weighed together with the goods.
ArticleQualLevel
An ArticleQualLevel (Article Quality Level) is a lookup entity that represents a defined quality grade for articles β for example "Class I", "Class II", or "Organic". It is used on contract positions and transaction positions to specify the agreed quality of the goods.
CallingClause
A CallingClause is a salutation or greeting form stored on address records, used to address correspondence, emails, and printed documents to a contact in a contextually appropriate and personalized way. Examples include "Dear Mr.", "Dear Ms.", "Dear Dr.", or "To Whom It May Concern". The CallingClause also carries a gender flag, which allows the system to apply grammatically correct gendered forms in languages where salutations are gender-dependent β particularly relevant for German-language documents where "Sehr geehrter Herr" and "Sehr geehrte Frau" are distinct forms.
CoPos (Contract Position)
A CoPos is a single line item within a contract. It specifies which article in what quantity and quality at what price has been agreed upon between the contracting parties. Multiple CoPos entries make up the substantive content of a contract β the contract header provides the administrative, logistical, and financial framework, while the positions carry the actual item-level commitments.
CoPosType (Contract Position Type)
A CoPosType is a classification entity that categorizes individual contract positions (CoPos) by their functional role within a contract. Common examples include a "Main Position" (the primary agreed delivery of goods), a "Premium Position" (a quality-based surcharge), a "Deduction Position" (a quantity or price reduction for moisture, impurities, or other quality shortfalls), or a "Service Position" (a fee for storage, handling, or analysis). Different position types may be treated differently by the invoicing logic β some are included in the net contract value, others are added as surcharges, and deduction positions reduce the payable amount.
Contract
A Contract is the central trade document formalizing an agreement between two parties for the purchase or sale of specific goods. It defines the commercial terms β which articles in what quantities at what prices β as well as the logistical terms: where goods are to be delivered, under which transport responsibility, which delivery conditions (Incoterms) apply, and what the target completion date is. Tax and invoicing configuration (tax group, tax method, invoicing behavior) is also captured at the contract level, ensuring that every position and resulting invoice is generated with the correct fiscal treatment.
ContractType
A ContractType classifies contracts by their business nature β distinguishing for example between purchase and sales contracts, or different trade processes. It controls which status transitions are allowed and whether the contract represents a selling or buying transaction.
ContractVersion
A ContractVersion is a versioning sub-classification that sits beneath a ContractType, allowing a single contract type to have multiple named variants or form editions. In practice this is used when the same kind of contract covers several slightly different variants depending on trade relationship or regulatory context β for example a standard grain purchase contract vs. a special organic grain purchase contract, or different clause editions for domestic vs. export trades.
Currency
A Currency is a master data entry representing a monetary currency used across the system β in contracts, payments, price lists, and partner master data. Each currency stores an exchange rate relative to the system's base currency (Euro), which the platform uses to convert values when multi-currency transactions need to be compared or consolidated in reporting. One currency can be flagged as the system default, pre-selecting it in new records and as the fallback when no explicit currency is specified.
DeliveryCond
A DeliveryCond (Delivery Condition) defines the terms under which goods are delivered β similar to Incoterms (e.g. EXW, DDP, FCA). It controls whether the source city or an Incoterm city is used on documents, and whether load weights/qualities from weighing logs are printed on invoices.
EnqPropUnit (Enquiry Property Unit)
An EnqPropUnit defines a unit of measurement used for properties within questionnaires and enquiry forms β for example kilograms (kg), tonnes (t), hectoliters (hl), or percentage (%). Each unit stores a conversion factor relative to a base storage unit, enabling the system to convert quantities entered in user-friendly field units into the canonical storage unit used internally for calculations and comparisons. A decimal precision limit controls how many decimal places are shown and accepted in input fields that use this unit.
EnqState
An EnqState (Enquiry State) is a workflow status that can be applied to partners, contracts, enquiries, and other business objects. It drives state-machine transitions and can trigger actions like marking a record as finished. Each state has a color code for visual identification in the UI.
Enquiry
An Enquiry is a task, activity, or case record β the central workflow object in the system. It tracks who is responsible, what the current status is, which partner is involved, and links to contracts, transactions, and campaigns. Enquiries are used across many business processes: from field visits and certifications to contract follow-ups and project tasks.
Harvest
A Harvest represents a specific production cycle or crop year β the temporal and agricultural context in which goods were grown, harvested, or processed. In practice, a Harvest record typically corresponds to a calendar year or growing season, such as "Harvest 2024". It serves as a traceability anchor: contracts, contract positions, and transaction positions can all reference a harvest year, creating an unbroken chain from the field event through the warehouse to the final sale.
InvoicingBeh
An InvoicingBeh (Invoicing Behaviour) is a lookup entity that defines how invoicing should be handled for a contract β for example whether to invoice per delivery, per period, or collectively. It controls the invoicing logic applied when generating invoices from contracts.
JSONObject
A JSONObject is a generic container entity for arbitrary structured data stored as a JSON payload within the system. It acts as an extensibility mechanism: rather than adding specific columns to existing tables for every new structured data requirement, a JSONObject record can hold any schema-free JSON structure identified by a type and an optional context reference (e.g. linked to a specific partner, article, or enquiry).
Language
A Language is a system language definition that enables multi-language support across the platform. Each language entry specifies its locale code (e.g. "de-AT", "en-US"), a display name, a sort order for language selection lists, and two behavioral flags: one indicating whether the language is available as a translation target for user-facing content, and another marking it as a system-level language (used internally for fallback logic and default UI rendering).
MarketingProj (Marketing Project)
A MarketingProj is an organizational grouping entity that bundles articles and product groups under a common marketing initiative, product line, or trading season. In the F4M context, a marketing project can represent anything from a specific sales campaign and its associated product portfolio to a full commodity season (e.g. "Grain Marketing 2024/25") that acts as the top-level container for all contracts and stock movements within that period.
PGVariant (Product Group Variant)
A PGVariant is a specific variety or sub-type within a product group β used to differentiate articles at a finer granularity than the product group level alone allows. In an agricultural context, a PGVariant typically represents a crop variety (e.g. "Pannonikus" within the wheat product group) or a quality/grade designation (e.g. "Premium" within an oilseed group). This allows the system to track and report on variety-specific volumes, prices, and quality data without creating separate top-level product groups for each variety.
Partner
A Partner is the central master data entity representing any external party the system interacts with β a customer, a supplier, a farm, a carrier, a certifying body, or any other business contact. It is the organizational anchor to which addresses, contracts, enquiries, payments, and transactions are linked. Nearly every business object in the system references one or more partners, making the Partner the most fundamental entity in the data model.
PartnerEnqState
A PartnerEnqState links a partner to a specific enquiry state within a state group. It represents the partner's current workflow status in a specific process context (e.g. certification status, CRM engagement stage), allowing different state groups for different business domains.
PartnerHierarchy
A PartnerHierarchy defines a relationship between two partners β a parent and a child β with a typed relation (e.g. "employerβemployee", "headquartersβbranch"). It can carry metadata like department, title, validity period, and contact address, and supports questionnaire answers for structured relationship data.
PartnerPartnerGroup
A PartnerPartnerGroup is a junction record that assigns a partner to one or more partner groups. Partner groups are named classifications used to segment the partner base into meaningful sets β for example "Premium Customers", "Certified Organic Producers", "Key Accounts", or "Trial Members". A single partner can belong to multiple groups simultaneously, and group memberships can carry a time-based validity range to model temporary or seasonal classifications.
PartnerPartnerType
A PartnerPartnerType is a junction record that assigns one or more role types to a partner. Partner types define the roles a partner can play within the system β common examples are "Supplier", "Customer", "Carrier", "Producer", or "Commission Agent". A single partner can hold multiple types simultaneously, reflecting the reality that the same business entity often acts in different capacities: a farm might be both a producer delivering grain and a customer buying certified seeds.
PartnerTaxGrpUsage
A PartnerTaxGrpUsage stores a partner's tax registration details for a specific region β primarily their VAT number (UID) and local tax registration number. Multiple usages can exist per partner to cover registrations in different tax jurisdictions, for example an Austrian VAT number alongside a German VAT number for a partner that is registered in both countries. One usage can be flagged as the default for the partner's primary tax jurisdiction.
Payment
A Payment records a financial payment transaction β the receipt or disbursement of money between the system and a partner. It links to the partner, a bank connection, and the booking batch in the accounting system (FI module), providing traceability from payment entry to ledger posting.
PriceList
A PriceList is a named set of prices applicable to articles. In the F4M implementation it acts as a simple header record grouping price entries (PriceListPos in the ECommerce implementation). It is referenced by partners and contracts to determine applicable prices during ordering.
ProductGroup
A ProductGroup is the top-level commodity category under which articles are organized in the system. In agricultural and commodity trading contexts, product groups represent broad material classes such as "Cereals", "Oilseeds", "Pulses", or "Specialty Crops". Every article belongs to exactly one product group, and this membership shapes how the article is priced, reported, and integrated with external systems.
ReceipePos
A ReceipePos (Recipe Position) is one ingredient or component within a recipe (Receipe). It links a parent recipe to a specific article with a defined quantity and unit. Recipes are used in production/processing contexts to define the composition of a product.
RefBaseAmount
A RefBaseAmount (Reference Base Amount) defines a canonical quantity unit used as the baseline for price and volume calculations within a product group. In commodity trading, prices are often quoted per tonne, per hectoliter, or per standardized quality unit β but actual physical quantities measured at the weighbridge may be in kilograms, liters, or other raw units. The RefBaseAmount provides the conversion anchor that allows the system to express all quantities in a consistent reference unit for pricing, invoicing, and reporting purposes.
Region
A Region represents a geographic entity β which can be a country, a federal state, a district, or any other defined geographic subdivision. Regions are used on addresses, contracts, articles (origin region), and partner hierarchies. ISO codes and a country flag help identify top-level regions.
Scale
A Scale represents a physical weighing scale connected to the system. It stores the connection parameters (IP/URL) and is assigned to a system instance (a specific server/terminal). Scales are used during stock transactions to record gross, tare, and net weights via the WeighLog.
StorePeriod
A StorePeriod defines a named time window used to categorize warehouse inventory and contracts by when goods were stored or produced. In agricultural and commodity trading contexts, a storage period typically corresponds to a harvest season, a marketing year, or a fiscal quarter β for example "Harvest 2024" or "Q1 2025". This temporal categorization is fundamental for inventory management: goods from different periods can carry different prices, quality grades, certifications, or traceability requirements, even if they are physically the same commodity sitting in the same warehouse.
Substance
A Substance is a chemical or biological substance tracked in the system β used in the context of input materials, residue monitoring, or laboratory analysis. In the F4M implementation the converter exposes only the identifier and record state, with further details managed in domain-specific modules.
SystemInstance
A SystemInstance represents a physical or virtual machine/terminal registered in the system β for example a weighing terminal, a production workstation, or a remote site server. It is referenced by scales and other hardware-linked resources to indicate where they are physically located.
Tax
A Tax entry defines a specific tax rate used in the system β for example 20% standard VAT, 10% reduced VAT, or 0% for tax-exempt goods. Each Tax belongs to a tax group (TaxGrp) which collects all applicable rates for a given fiscal regime, and the combination of group and rate determines exactly which percentage is applied to a given transaction. Tax entries are referenced on contract positions, shopping cart positions, and invoices to calculate the correct tax amount for each line item.
TaxGrp
A TaxGrp (Tax Group) is a grouping of related tax rates. It provides the organizational layer above individual tax entries β for example "Standard VAT", "Reduced VAT", or "Zero Rate". Partners and contracts are assigned tax groups rather than individual rates, allowing flexible rate lookups.
TaxMethod
A TaxMethod defines the calculation method used to determine how tax is handled for a contract or invoice β specifically whether prices are expressed inclusive or exclusive of tax, and whether any special fiscal treatment applies. Common tax methods include "net invoicing" (prices shown without tax, tax added on top at invoice time), "gross invoicing" (tax already included in the displayed price, broken out on the invoice), and "reverse charge" (where the tax liability is transferred from the seller to the buyer, typically in B2B cross-border transactions within the EU).
Trans (Transaction)
A Trans is the header record for a stock movement event β a goods receipt at intake, a goods issue on dispatch, or any other warehouse operation that changes the inventory position. It acts as the organizational umbrella under which all individual weighed or counted items (TransPos) are grouped. A single transaction might represent a full truck delivery containing twenty different positions with different articles, qualities, and weights β all belonging to the same physical arrival event at the facility.
TransPos (Transaction Position)
A TransPos is a single weighed or measured item within a stock transaction β the line-level record of one particular batch or delivery unit within a goods movement event. Where the Trans header captures the who, when, and why of a movement, each TransPos captures the physical detail: which article, in what net quantity, of which quality and variety, carrying which lot identifiers. Multiple TransPos records can exist under a single Trans, representing the individual weighings or sub-lots that together make up the complete delivery or dispatch.
TransportResp
A TransportResp (Transport Responsibility) is a lookup entity that defines who is responsible for organizing and paying for transport in a contract β for example the buyer, the seller, or a third-party carrier. It complements the delivery condition (DeliveryCond/Incoterm) with an internal classification.
TransportType
A TransportType is a lookup entity that classifies the mode of transport used for goods delivery β for example "Truck", "Train", "Ship", or "Self-Collection by Customer". Contracts and contract positions reference a TransportType to document how goods are expected to be physically moved between the source and destination. One TransportType can be flagged as the system default, pre-selecting it in new contracts and reducing manual input for the most common delivery mode.
WeighLog
A WeighLog records a single weighing event from a connected scale. Each transaction position can have one or more WeighLog entries β representing gross weight readings, tare readings, and the resulting net calculation. It links to the physical scale that performed the measurement.