Partners (PAR)
The par submodule of com owns every external party the ERP transacts with — partners and the role-specific projections of those partners as customers, suppliers, and clients. It also owns each partner’s addresses (postal and delivery), contacts, departments, bank accounts, status history, and the reference data that classifies them (partner type, partner status, salutation, contact position, line of business, sales channel, purchase channel). It depends on sys.loc for country/currency, com.org for the company a customer/supplier is scoped to, com.fin for the default financial terms and credit rating, com.log for terms of delivery, com.cal for the partner’s working calendar, and sys.usr for representative users.
Concepts
PartnerA legal entity the ERP transacts with — independent of role. Carries the master data (name, country, registration numbers, language, default terms, calendar). Customers, suppliers, and clients all point at the same partner.
Partner TypeA reference type for partners (e.g. "manufacturer", "logistics service provider"). Carries the legal-type and status defaults applied to new partner records and the default financial terms for that type.
Partner StatusA reference type that says whether the partner is allowed to transact. The blocked flag short-circuits new orders.
Partner Status EventAn immutable timestamped record of a status change with optional notes — the audit trail of partner status transitions.
Customer / Supplier / ClientRole projections of a partner inside a finance company. Each role assigns the partner-as-X relationship to one company; the same partner may be a customer in one company and a supplier in another.
Partner AddressA named address of a partner. Two specializations exist: a
PostalAddressadds postbox/zip/city for invoicing; aDeliveryAddressadds transport mode, geo-coordinates, and a calendar plus opening-hours slots for goods receipt.Delivery Address SlotA weekday/opening-hours window on a delivery address — used by the calendar
moveBusinessDaysservice to skip days the address is closed.Partner ContactA named person at the partner with their own contact details, language, salutation, position, and (optionally) the partner department they belong to.
Partner Bank AccountA bank account that belongs to a partner; carries the IBAN/SWIFT plus the bank’s address.
Sales Channel / Purchase ChannelReference types that classify the route through which a sales or purchase relationship is conducted.
Entities
Partner (Partner)
The master record for an external party. Aggregates every address, contact, status event, and bank account.
| Field | Description |
|---|---|
| Business key (up to 12 characters). |
| Display name. |
| Country of registration. |
| Classification of the partner. |
| Legal classification — see Partner Legal Types below. Default |
| Optional website URL. |
| Optional phone number. |
| Optional email address. |
| Optional Chamber-of-Commerce registration. |
| Optional VAT registration. |
| Current status (active/blocked/…). |
| Optional free-form notes. |
| Preferred language for outbound communication. |
| Optional industry classification. |
| Optional default terms of payment. |
| Optional default terms of delivery. |
| Optional default terms of invoice. |
| Default trading currency. |
| Optional working calendar used for date arithmetic involving this partner. |
| Optional code from an external system (operational field). |
Partner Legal Types (PartnerLegalType)
| Code | Name | Meaning |
|---|---|---|
| Business | Commercial entity (default). |
| Non-governmental | NGO. |
| Governmental | Public-sector entity. |
| Natural Person | Private individual. |
Partner Type (PartnerType)
A classification of partners with the defaults applied to new partner records of this type.
| Field | Description |
|---|---|
| Business key (up to 10 characters). |
| Human-readable name. |
| Legal type assigned to new partners. Default |
| Status assigned to new partners. |
| Optional default terms of payment. |
| Optional default terms of delivery. |
| Optional default terms of invoice. |
Partner Status (PartnerStatus)
A status code that may block transactions.
| Field | Description |
|---|---|
| Business key (up to 12 characters). |
| Human-readable name. |
| Whether partners with this status are blocked from transacting. |
Partner Status Event (PartnerStatusEvent)
An immutable timestamped record of a status change.
| Field | Description |
|---|---|
| The partner whose status changed. |
| When the change happened (composite business key with |
| The new status. |
| Optional free-form notes. |
Partner Address (PartnerAddress)
A named address of a partner.
| Field | Description |
|---|---|
| Owning partner (composite business key with |
| Address code (up to 6 characters). |
| Display names. |
| Address lines. |
| Optional free-form notes. |
Postal Address (PostalAddress)
The invoicing/postbox specialization of a partner address. One per partner address at most.
| Field | Description |
|---|---|
| The partner address being specialized (one-to-one). |
| Optional postbox identifier. |
| Optional postbox zip code. |
| Optional postbox city. |
Delivery Address (DeliveryAddress)
The goods-receipt specialization of a partner address. One per partner address at most.
| Field | Description |
|---|---|
| The partner address being specialized (one-to-one). |
| Optional transport mode used for deliveries to this address. |
| Optional default day-of-week for deliveries. |
| Optional longitude. |
| Optional latitude. |
| Optional free-form delivery instructions. |
| Optional calendar (e.g. closures) for this address. |
Delivery Address Slot (DeliveryAddressSlot)
A weekday/opening-hours window for a delivery address. Implements IsWeekDaySlot so it can be passed into com.cal’s `moveBusinessDays.
| Field | Description |
|---|---|
| Owning delivery address (composite business key with |
| Day of the week the slot is open. |
| Opening time (minute precision). |
| Closing time (minute precision). |
Partner Contact (PartnerContact)
A named person at the partner.
| Field | Description |
|---|---|
| Owning partner (composite business key with |
| Contact code (up to 6 characters). |
| Optional address the contact is reached at; must belong to the same partner. |
| Optional partner department. |
| Salutation (Mr/Mrs/…). |
| First/last name. |
| Optional position/title. |
| Country. |
| Preferred language. |
| Optional free-form notes. |
| Contact channels. |
Partner Department (PartnerDepartment)
A department within a partner organization (used to group contacts).
| Field | Description |
|---|---|
| Business key (up to 6 characters). |
| Human-readable name. |
Partner Bank Account (PartnerBankAccount)
A bank account that belongs to a partner.
| Field | Description |
|---|---|
| Owning partner (composite business key with |
| The IBAN. |
| Bank name. |
| Bank address. |
| Optional SWIFT/BIC code. |
| Optional bank reference. |
| Optional phone number. |
Customer (Customer)
A partner acting as a customer inside a specific company.
| Field | Description |
|---|---|
| The company this customer relationship belongs to. |
| The partner. |
| Optional internal sales representative (a |
| Optional external sales representative. |
| Optional credit rating from |
Supplier (Supplier)
A partner acting as a supplier inside a specific company.
| Field | Description |
|---|---|
| The company this supplier relationship belongs to. |
| The partner. |
| Supplier reliability classification — see Supplier Reliability below. Default |
| Optional internal purchasing representative. |
| Optional external purchasing representative. |
Supplier Reliability (SupplierReliability)
| Code | Name | Meaning |
|---|---|---|
| Unknown | No assessment yet (default). |
| Reliable | Trusted supplier. |
| Not Reliable | Supplier flagged as unreliable. |
Client (Client)
A partner acting as a client inside a specific company. Lighter than Customer — used when the relationship does not warrant the customer-specific fields.
| Field | Description |
|---|---|
| The company this client relationship belongs to. |
| The partner. |
Reference Types
LineOfBusinessAn industry classification attached to partners (
code+description).ContactPositionA position/title used on contacts (
code+description).SalutationA salutation prefix used on contacts (
code+description).SalesChannelA classification of the route a sales relationship is conducted through (
code+description).PurchaseChannelA classification of the route a purchase relationship is conducted through (
code+description).
Functionality
Partner lookup
PartnerReaderService provides the canonical lookups: optional and mandatory by-code, plus retrieval of the default postal address (getDefaultInvoiceAddress) and default delivery address (getDefaultDeliveryAddress) for a partner. The mandatory variants raise a business exception when the partner does not exist.
Customer / Supplier resolution
The same service resolves the customer and supplier projections of a partner inside a given company (getCustomer / getCustomerMandatory, getSupplier / getSupplierMandatory). The mandatory variants raise a business exception when the partner is not registered as a customer/supplier in that company. The non-mandatory variants accept a null partner (and return null) so callers can short-circuit cleanly.
Address lookup
AddressReaderService.findByPartnerAndCodeMandatory returns the partner address whose code matches inside a given partner, raising a business exception when the address does not exist. COM_PAR_QueryApi also exposes the optional variant and direct lookups for a partner address’s postal- or delivery-address specialization.
Line-of-business lookup
LineOfBusinessReaderService.findByCodeMandatory returns a LineOfBusiness by code, raising a business exception when not found.
Delivery slot enumeration
COM_PAR_QueryApi.getAddressDeliverySlots returns every weekday/opening-hours slot of a delivery address. Used by transport-planning code that needs to feed slots into com.cal’s `moveBusinessDays.
Public API
COM_PAR_QueryApi
Read-side facade.
| Method | Description |
|---|---|
| Partner by code (optional or mandatory). |
| The partner’s default postal address, or |
| The partner’s default delivery address, or |
| All |
| Address by partner + code. |
| The delivery-address specialization of a partner address. |
| The postal-address specialization of a partner address. |
| Opening-hours slots of a delivery address. |
| Customer projection of a partner inside a company. |
| Supplier projection of a partner inside a company. |
| Customer row for the (company, partner) pair, or |
| Supplier row for the (company, partner) pair, or |
| Line-of-business by code; raises when not found. |
COM_PAR_CommandApi
This submodule does not provide a command API class. Partners and their related entities are maintained through their default CRUD pages.
IsWeekDaySlot extension
com.par.extension.IsWeekDaySlot is the seam that lets DeliveryAddressSlot rows be passed into the calendar moveBusinessDays service. Other modules with their own weekday-slot rows can implement the interface to participate in the same flow.
ViewModel actions
The submodule defines view models for every entity but does not declare any custom UI actions.