Skip to content

POS — Data model

15 tables · auto-generated from migrations-v2/*.sql — do not edit by hand.

ER diagram

%%{init: {"theme":"base","themeVariables":{"darkMode":true,"background":"#1e1e1e","primaryColor":"#2d2d30","primaryBorderColor":"#569cd6","primaryTextColor":"#d4d4d4","lineColor":"#6796c6","secondaryColor":"#3a3d41","secondaryBorderColor":"#dcdcaa","secondaryTextColor":"#d4d4d4","tertiaryColor":"#252526","tertiaryBorderColor":"#569cd6","noteBkgColor":"#3a3d41","noteTextColor":"#dcdcaa","clusterBkg":"#252526","clusterBorder":"#569cd6","titleColor":"#569cd6","attributeBackgroundColorOdd":"#252526","attributeBackgroundColorEven":"#2d2d30"},"er":{"useMaxWidth":false}}}%%
erDiagram
  POS_APPLIED_PROMOTION {
    integer id PK
    text company_id FK
    integer order_id FK
    text program_ref
    text rule_ref
    text reward_ref
    text benefit_json
    text affected_line_refs
  }
  POS_CASH_COUNT {
    integer id PK
    text company_id FK
    integer session_id FK
    text count_type
    numeric total
    text lines_json
    text counted_by
    integer counted_at
  }
  POS_CASH_MOVEMENT {
    integer id PK
    text company_id FK
    integer session_id FK
    text direction
    text reason_code
    numeric amount
    text note
    text actor
  }
  POS_CONSOLIDATION_RUN {
    integer id PK
    text company_id FK
    integer session_id FK
    text state
    integer progress_done
    integer progress_total
    text error_class
    text error_message
  }
  POS_DEVICE_SEQUENCE {
    integer id PK
    text company_id FK
    integer terminal_id FK
    text sequence_name
    integer next_value
    integer lease_start
    integer lease_end
    integer updated_at
  }
  POS_ERECEIPT_SUBMISSION {
    integer id PK
    text company_id FK
    integer order_id FK
    text doc_type
    text state
    text provider_adapter
    text signed_artifact_ref
    integer submitted_at
  }
  POS_ORDER {
    integer id PK
    text company_id FK
    integer session_id FK
    integer terminal_id FK
    integer profile_id FK
    integer customer_party_id FK
    integer origin_order_id FK
    integer kernel_document_id FK
  }
  POS_ORDER_LINE {
    integer id PK
    text company_id FK
    integer order_id FK
    integer item_id FK
    integer item_variant_id FK
    integer serial_lot_bundle_id FK
    integer returned_against_line_id FK
    integer line_no
  }
  POS_PAYMENT {
    integer id PK
    text company_id FK
    integer order_id FK
    integer payment_method_id FK
    text tender_kind
    numeric amount
    numeric tendered_amount
    numeric change_amount
  }
  POS_PAYMENT_METHOD {
    integer id PK
    text company_id FK
    text code
    text name
    text kind
    text settlement_posting_group_code
    integer requires_external_ref
    integer opens_drawer
  }
  POS_PROFILE {
    integer id PK
    text company_id FK
    integer branch_party_id FK
    integer default_location_id FK
    text code
    text name
    text default_tax_code
    integer tax_included
  }
  POS_SESSION {
    integer id PK
    text company_id FK
    integer profile_id FK
    integer terminal_id FK
    text session_uuid
    text opened_by
    text closed_by
    numeric opening_float
  }
  POS_SETTLEMENT_EXPECTATION {
    integer id PK
    text company_id FK
    integer session_id FK
    integer payment_method_id FK
    numeric expected_amount
    text expected_value_date
    text state
    integer created_at
  }
  POS_SYNC_ENVELOPE {
    integer id PK
    text company_id FK
    integer terminal_id FK
    text envelope_uuid
    text payload_kind
    text payload_doc_uuid
    integer attempt_count
    text state
  }
  POS_TERMINAL {
    integer id PK
    text company_id FK
    integer profile_id FK
    text code
    text label
    text device_key_hash
    text status
    integer last_seen_at
  }
  POS_ORDER ||--o{ POS_APPLIED_PROMOTION : order
  POS_SESSION ||--o{ POS_CASH_COUNT : session
  POS_SESSION ||--o{ POS_CASH_MOVEMENT : session
  POS_SESSION ||--o{ POS_CONSOLIDATION_RUN : session
  POS_TERMINAL ||--o{ POS_DEVICE_SEQUENCE : terminal
  POS_ORDER ||--o{ POS_ERECEIPT_SUBMISSION : order
  POS_SESSION ||--o{ POS_ORDER : session
  POS_TERMINAL ||--o{ POS_ORDER : terminal
  POS_PROFILE ||--o{ POS_ORDER : profile
  POS_ORDER ||--o{ POS_ORDER : origin_order
  POS_ORDER ||--o{ POS_ORDER_LINE : order
  POS_ORDER_LINE ||--o{ POS_ORDER_LINE : returned_against_line
  POS_ORDER ||--o{ POS_PAYMENT : order
  POS_PAYMENT_METHOD ||--o{ POS_PAYMENT : payment_method
  POS_PROFILE ||--o{ POS_SESSION : profile
  POS_TERMINAL ||--o{ POS_SESSION : terminal
  POS_SESSION ||--o{ POS_SETTLEMENT_EXPECTATION : session
  POS_PAYMENT_METHOD ||--o{ POS_SETTLEMENT_EXPECTATION : payment_method
  POS_TERMINAL ||--o{ POS_SYNC_ENVELOPE : terminal
  POS_PROFILE ||--o{ POS_TERMINAL : profile

Cross-module references

  • POS_APPLIED_PROMOTION.company_idCOMPANY (core)
  • POS_CASH_COUNT.company_idCOMPANY (core)
  • POS_CASH_MOVEMENT.company_idCOMPANY (core)
  • POS_CONSOLIDATION_RUN.company_idCOMPANY (core)
  • POS_DEVICE_SEQUENCE.company_idCOMPANY (core)
  • POS_ERECEIPT_SUBMISSION.company_idCOMPANY (core)
  • POS_ORDER.company_idCOMPANY (core)
  • POS_ORDER.customer_party_idPARTY (core)
  • POS_ORDER.kernel_document_idDOCUMENT (core)
  • POS_ORDER_LINE.company_idCOMPANY (core)
  • POS_ORDER_LINE.item_idITEM (core)
  • POS_ORDER_LINE.item_variant_idITEM_VARIANT (core)
  • POS_ORDER_LINE.serial_lot_bundle_idIDENTITY_BUNDLE (core)
  • POS_PAYMENT.company_idCOMPANY (core)
  • POS_PAYMENT_METHOD.company_idCOMPANY (core)
  • POS_PROFILE.company_idCOMPANY (core)
  • POS_PROFILE.branch_party_idPARTY (core)
  • POS_PROFILE.default_location_idLOCATION (core)
  • POS_SESSION.company_idCOMPANY (core)
  • POS_SETTLEMENT_EXPECTATION.company_idCOMPANY (core)
  • POS_SYNC_ENVELOPE.company_idCOMPANY (core)
  • POS_TERMINAL.company_idCOMPANY (core)

Data dictionary

erp_pos_applied_promotion · 11 cols
column type key references
id integer PK
company_id text FK erp_company
order_id integer FK erp_pos_order
program_ref text
rule_ref text
reward_ref text
benefit_json text
affected_line_refs text
coupon_code text
authorization_mode text
created_at integer
erp_pos_cash_count · 9 cols
column type key references
id integer PK
company_id text FK erp_company
session_id integer FK erp_pos_session
count_type text
total numeric
lines_json text
counted_by text
counted_at integer
created_at integer
erp_pos_cash_movement · 10 cols
column type key references
id integer PK
company_id text FK erp_company
session_id integer FK erp_pos_session
direction text
reason_code text
amount numeric
note text
actor text
moved_at integer
created_at integer
erp_pos_consolidation_run · 13 cols
column type key references
id integer PK
company_id text FK erp_company
session_id integer FK erp_pos_session
state text
progress_done integer
progress_total integer
error_class text
error_message text
resulting_invoice_ref text
resulting_journal_ref text
reversal_ref text
created_at integer
updated_at integer
erp_pos_device_sequence · 8 cols
column type key references
id integer PK
company_id text FK erp_company
terminal_id integer FK erp_pos_terminal
sequence_name text
next_value integer
lease_start integer
lease_end integer
updated_at integer
erp_pos_ereceipt_submission · 12 cols
column type key references
id integer PK
company_id text FK erp_company
order_id integer FK erp_pos_order
doc_type text
state text
provider_adapter text
signed_artifact_ref text
submitted_at integer
accepted_at integer
rejection_reason text
created_at integer
updated_at integer
erp_pos_order · 29 cols
column type key references
id integer PK
company_id text FK erp_company
order_uuid text
idempotency_key text
session_id integer FK erp_pos_session
terminal_id integer FK erp_pos_terminal
profile_id integer FK erp_pos_profile
kind text
state text
customer_party_id integer FK erp_party
device_sequence_no integer
provisional_receipt_no text
official_receipt_no text
fiscal_doc_type text
buyer_tax_json text
net_total numeric
vat_total numeric
gross_total numeric
discount_total numeric
rounding_adjustment numeric
currency_code text
origin_order_id integer FK erp_pos_order
channel text
kernel_document_id integer FK erp_document
finalized_device_at integer
server_received_at integer
posted_at integer
created_at integer
updated_at integer
erp_pos_order_line · 19 cols
column type key references
id integer PK
company_id text FK erp_company
order_id integer FK erp_pos_order
line_no integer
item_id integer FK erp_item
item_variant_id integer FK erp_item_variant
description text
qty numeric
uom text
conversion_factor numeric
unit_price numeric
price_source text
discount_json text
tax_json text
serial_lot_bundle_id integer FK erp_identity_bundle
returned_against_line_id integer FK erp_pos_order_line
warranty_until text
cogs_amount numeric
created_at integer
erp_pos_payment · 12 cols
column type key references
id integer PK
company_id text FK erp_company
order_id integer FK erp_pos_order
payment_method_id integer FK erp_pos_payment_method
tender_kind text
amount numeric
tendered_amount numeric
change_amount numeric
external_ref text
capture_state text
captured_at integer
created_at integer
erp_pos_payment_method · 14 cols
column type key references
id integer PK
company_id text FK erp_company
code text
name text
kind text
settlement_posting_group_code text
requires_external_ref integer
opens_drawer integer
settlement_expected integer
provider_adapter text
allowed_refund integer
status text
policy_json text
created_at integer
erp_pos_profile · 17 cols
column type key references
id integer PK
company_id text FK erp_company
code text
name text
branch_party_id integer FK erp_party
default_location_id integer FK erp_location
default_tax_code text
tax_included integer
consolidation_mode text
stock_posting_point text
negative_stock_policy text
variance_threshold numeric
offline_cap_seconds integer
currency_code text
policy_json text
created_at integer
updated_at integer
erp_pos_session · 19 cols
column type key references
id integer PK
company_id text FK erp_company
session_uuid text
profile_id integer FK erp_pos_profile
terminal_id integer FK erp_pos_terminal
opened_by text
closed_by text
opening_float numeric
state text
opened_at integer
closed_at integer
expected_cash numeric
counted_cash numeric
cash_variance numeric
variance_approval_ref text
closing_journal_ref text
z_report_json text
created_at integer
updated_at integer
erp_pos_settlement_expectation · 9 cols
column type key references
id integer PK
company_id text FK erp_company
session_id integer FK erp_pos_session
payment_method_id integer FK erp_pos_payment_method
expected_amount numeric
expected_value_date text
state text
created_at integer
updated_at integer
erp_pos_sync_envelope · 11 cols
column type key references
id integer PK
company_id text FK erp_company
envelope_uuid text
terminal_id integer FK erp_pos_terminal
payload_kind text
payload_doc_uuid text
attempt_count integer
state text
last_error text
created_at integer
updated_at integer
erp_pos_terminal · 12 cols
column type key references
id integer PK
company_id text FK erp_company
profile_id integer FK erp_pos_profile
code text
label text
device_key_hash text
status text
last_seen_at integer
app_version text
schema_version text
created_at integer
updated_at integer