Centurio System and module documentation
๐Ÿ›๏ธ Platform architecture ๐Ÿ”‘ Login
๐Ÿ  All modules / sales_billing / The following points shall be added:
๐Ÿ“˜

The following points shall be added:

pos sales_billing ๐Ÿ›ก๏ธ RLS Protected

The following information is provided by the Commission:

Fachliche Bestimmung: CASS system (POS) <unk> process and API documentation derived from code. It contains all registered processes, capabilities, state machines, APIs and tables for simulations and reviews.

โšก Workflows and life cycles

Dieses Modul folgt dem standardisierten transaktionalen CRUD- und Event-Lifecycle.

๐Ÿ—„๏ธ Data models and fields

Policies policies RLS Aktiv
20 Fields and columns

Tabelle policies

Feldname Type of data The Commission Schlรผssel The technical significance
name VARCHAR(128) Ja * - Feld name
description TEXT Nein - Feld description
subject_type VARCHAR(32) Nein - Feld subject_type
subject_id UUID Nein - Feld subject_id
action VARCHAR(64) Ja * - Feld action
entity_type VARCHAR(32) Nein - Feld entity_type
conditions JSONB Ja * - Feld conditions
effect VARCHAR(48) Ja * - Feld effect
risk_level INTEGER Ja * - Feld risk_level
priority INTEGER Ja * - Feld priority
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PortalInvites portal_invites RLS Aktiv
14 Fields and columns

Tabelle portal_invites

Feldname Type of data The Commission Schlรผssel The technical significance
customer_id UUID Ja * FK โž” customers.id Feld customer_id
email VARCHAR(320) Ja * - Feld email
token_hash VARCHAR(64) Ja * - Feld token_hash
expires_at DATETIME Ja * - Feld expires_at
used_at DATETIME Nein - Feld used_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PortalRequests portal_requests RLS Aktiv
19 Fields and columns

Tabelle portal_requests

Feldname Type of data The Commission Schlรผssel The technical significance
customer_id UUID Ja * FK โž” customers.id Feld customer_id
portal_user_id UUID Nein FK โž” portal_users.id Feld portal_user_id
request_type VARCHAR(24) Ja * - Feld request_type
asset_id UUID Nein FK โž” assets.id Feld asset_id
payload JSON Nein - Feld payload
note TEXT Nein - Feld note
status VARCHAR(16) Ja * - Feld status
handled_by UUID Nein - Feld handled_by
handled_at DATETIME Nein - Feld handled_at
rejection_note TEXT Nein - Feld rejection_note
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PortalSettings portal_settings RLS Aktiv
37 Fields and columns

Tabelle portal_settings

Feldname Type of data The Commission Schlรผssel The technical significance
enabled BOOLEAN Ja * - Feld enabled
allow_registration BOOLEAN Ja * - Feld allow_registration
registration_requires_review BOOLEAN Ja * - Feld registration_requires_review
show_products BOOLEAN Ja * - Feld show_products
show_quotes BOOLEAN Ja * - Feld show_quotes
show_contracts BOOLEAN Ja * - Feld show_contracts
show_assets BOOLEAN Ja * - Feld show_assets
show_stock BOOLEAN Ja * - Feld show_stock
show_invoices BOOLEAN Ja * - Feld show_invoices
show_tickets BOOLEAN Ja * - Feld show_tickets
show_prices BOOLEAN Ja * - Feld show_prices
show_workorders BOOLEAN Ja * - Feld show_workorders
show_projects BOOLEAN Ja * - Feld show_projects
show_service_reports BOOLEAN Ja * - Feld show_service_reports
show_appointments BOOLEAN Ja * - Feld show_appointments
show_returns BOOLEAN Ja * - Feld show_returns
show_shipments BOOLEAN Ja * - Feld show_shipments
show_rental BOOLEAN Ja * - Feld show_rental
show_tasks BOOLEAN Ja * - Feld show_tasks
allow_rental_booking BOOLEAN Ja * - Feld allow_rental_booking
return_allow_customer_return BOOLEAN Ja * - Feld return_allow_customer_return
return_allow_consignment_return BOOLEAN Ja * - Feld return_allow_consignment_return
return_allow_stored_goods_return BOOLEAN Ja * - Feld return_allow_stored_goods_return
return_allow_rental_return BOOLEAN Ja * - Feld return_allow_rental_return
return_window_days INTEGER Nein - Feld return_window_days
return_auto_approve BOOLEAN Ja * - Feld return_auto_approve
allow_document_downloads BOOLEAN Ja * - Feld allow_document_downloads
welcome_text TEXT Nein - Feld welcome_text
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PortalUsers portal_users RLS Aktiv
16 Fields and columns

Tabelle portal_users

Feldname Type of data The Commission Schlรผssel The technical significance
customer_id UUID Ja * FK โž” customers.id Feld customer_id
email VARCHAR(320) Ja * - Feld email
name VARCHAR(255) Ja * - Feld name
password_hash VARCHAR(255) Ja * - Feld password_hash
status VARCHAR(16) Ja * - Feld status
language VARCHAR(10) Ja * - Feld language
last_login_at DATETIME Nein - Feld last_login_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PosDailyClosings pos_daily_closings RLS Aktiv
25 Fields and columns

Tabelle pos_daily_closings

Feldname Type of data The Commission Schlรผssel The technical significance
register_id UUID Ja * FK โž” pos_registers.id Feld register_id
closing_number INTEGER Ja * - Feld closing_number
closing_date DATE Ja * - Feld closing_date
opening_balance NUMERIC(14, 2) Ja * - Feld opening_balance
total_sales_gross NUMERIC(14, 2) Ja * - Feld total_sales_gross
total_sales_net NUMERIC(14, 2) Ja * - Feld total_sales_net
total_tax_19 NUMERIC(14, 2) Ja * - Feld total_tax_19
total_tax_7 NUMERIC(14, 2) Ja * - Feld total_tax_7
total_cash_payments NUMERIC(14, 2) Ja * - Feld total_cash_payments
total_card_payments NUMERIC(14, 2) Ja * - Feld total_card_payments
total_deposits NUMERIC(14, 2) Ja * - Feld total_deposits
total_withdrawals NUMERIC(14, 2) Ja * - Feld total_withdrawals
calculated_cash_balance NUMERIC(14, 2) Ja * - Feld calculated_cash_balance
actual_cash_counted NUMERIC(14, 2) Ja * - Feld actual_cash_counted
cash_difference NUMERIC(14, 2) Ja * - Feld cash_difference
is_exported_to_accounting BOOLEAN Ja * - Feld is_exported_to_accounting
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PosHeldSales pos_held_sales RLS Aktiv
12 Fields and columns

Tabelle pos_held_sales

Feldname Type of data The Commission Schlรผssel The technical significance
register_id UUID Ja * FK โž” pos_registers.id Feld register_id
label VARCHAR(120) Nein - Feld label
cart_snapshot JSONB Ja * - Feld cart_snapshot
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PosRegisters pos_registers RLS Aktiv
17 Fields and columns

Tabelle pos_registers

Feldname Type of data The Commission Schlรผssel The technical significance
register_number VARCHAR(32) Ja * - Feld register_number
name VARCHAR(128) Ja * - Feld name
status VARCHAR(48) Ja * - Feld status
warehouse_id UUID Nein FK โž” locations.id Feld warehouse_id
tse_client_id VARCHAR(128) Nein - Feld tse_client_id
tse_serial_number VARCHAR(128) Nein - Feld tse_serial_number
tse_provider VARCHAR(64) Ja * - Feld tse_provider
current_cash_balance NUMERIC(14, 2) Ja * - Feld current_cash_balance
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
PosTransactionItems pos_transaction_items RLS Aktiv
17 Fields and columns

Tabelle pos_transaction_items

Feldname Type of data The Commission Schlรผssel The technical significance
transaction_id UUID Ja * FK โž” pos_transactions.id Feld transaction_id
product_id UUID Nein FK โž” products.id Feld product_id
position INTEGER Ja * - Feld position
item_name VARCHAR(255) Ja * - Feld item_name
quantity NUMERIC(12, 3) Ja * - Feld quantity
unit_price NUMERIC(14, 2) Ja * - Feld unit_price
net_amount NUMERIC(14, 2) Ja * - Feld net_amount
tax_rate NUMERIC(5, 2) Ja * - Feld tax_rate
tax_amount NUMERIC(14, 2) Ja * - Feld tax_amount
gross_amount NUMERIC(14, 2) Ja * - Feld gross_amount
discount_percent NUMERIC(5, 2) Ja * - Feld discount_percent
discount_amount NUMERIC(14, 2) Ja * - Feld discount_amount
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
PosTransactions pos_transactions RLS Aktiv
32 Fields and columns

Tabelle pos_transactions

Feldname Type of data The Commission Schlรผssel The technical significance
register_id UUID Ja * FK โž” pos_registers.id Feld register_id
customer_id UUID Nein FK โž” customers.id Feld customer_id
invoice_id UUID Nein FK โž” invoices.id Feld invoice_id
transaction_number VARCHAR(64) Ja * - Feld transaction_number
receipt_number VARCHAR(64) Ja * - Feld receipt_number
transaction_type VARCHAR(48) Ja * - Feld transaction_type
gross_amount NUMERIC(14, 2) Ja * - Feld gross_amount
net_amount NUMERIC(14, 2) Ja * - Feld net_amount
tax_amount NUMERIC(14, 2) Ja * - Feld tax_amount
payment_method VARCHAR(48) Ja * - Feld payment_method
given_amount NUMERIC(14, 2) Nein - Feld given_amount
change_amount NUMERIC(14, 2) Nein - Feld change_amount
discount_amount NUMERIC(14, 2) Ja * - Feld discount_amount
secondary_payment_method VARCHAR(48) Nein - Feld secondary_payment_method
secondary_payment_amount NUMERIC(14, 2) Nein - Feld secondary_payment_amount
tse_transaction_number BIGINT Nein - Feld tse_transaction_number
tse_signature_counter BIGINT Nein - Feld tse_signature_counter
tse_signature_value TEXT Nein - Feld tse_signature_value
tse_algorithm VARCHAR(32) Nein - Feld tse_algorithm
tse_public_key TEXT Nein - Feld tse_public_key
tse_started_at DATETIME Nein - Feld tse_started_at
tse_finished_at DATETIME Nein - Feld tse_finished_at
tse_qr_code_payload TEXT Nein - Feld tse_qr_code_payload
id UUID Nein PK Feld id
tenant_id UUID Ja * FK โž” organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata

๐Ÿ”Œ The Commission shall adopt delegated acts in accordance with Article 21 of this Regulation.

Art The method Endpoint / path Titel & Zweck The Commission shall adopt the following:
โšก REST API DELETE /api/v1/pos/held-sales/{held_sale_id}
discard_held_sale
Semantic binding: operator_surface; mutation=True
pos
โšก REST API GET /api/v1/pos/products/search
search_products
Semantic binding: inventory_only; mutation=False
pos
โšก REST API GET /api/v1/pos/registers
list_registers
Semantic binding: inventory_only; mutation=False
pos
โšก REST API GET /api/v1/pos/registers/{register_id}
get_register
Semantic binding: inventory_only; mutation=False
pos
โšก REST API GET /api/v1/pos/registers/{register_id}/held-sales
list_held_sales
Semantic binding: inventory_only; mutation=False
pos
โšก REST API GET /api/v1/pos/transactions/{transaction_id}
get_transaction
Semantic binding: inventory_only; mutation=False
pos
โšก REST API GET /pos
pos_terminal_page
Semantic binding: inventory_only; mutation=False
pos
โšก REST API POST /api/v1/pos/held-sales/{held_sale_id}/resume
resume_held_sale
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers
create_register
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers/{register_id}/cash-movement
cash_movement
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers/{register_id}/checkout
the cash out
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers/{register_id}/close
close_register
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers/{register_id}/daily-closing
daily_closing
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers/{register_id}/held-sales
hold_sale
Semantic binding: operator_surface; mutation=True
pos
โšก REST API POST /api/v1/pos/registers/{register_id}/open
open_register
Semantic binding: operator_surface; mutation=True
pos

๐Ÿ›ก๏ธ Regulatory and compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • The Commission shall adopt the following implementing acts:
  • The following information shall be provided: