Centurio Systemen en modules
🏛️ Plattformarchitectuur 🔑 Login
🏠 Alle modules / sales_billing / De Commissie heeft de Commissie verzocht om een aanvullende informatie te verstrekken.
📘

De Commissie heeft de Commissie verzocht om een aanvullende informatie te verstrekken.

pos sales_billing 🛡️ RLS Protected

Het casenstelsel (POS) <unk> proces- en API-documentatie afgeleid van code.

Fachliche Bestimmung: Het casen systeem (POS) <unk> proces- en API-documentatie afgeleid van code.

⚡ Werkstromen en levenscyclus

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

🗄️ Datamodellen & velden

PortalInvites portal_invites RLS Aktiv
14 Veld / kolom

Tabelle portal_invites

Feldname Datatipe Verplichting Schlüssel Gezondheid
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 Veld / kolom

Tabelle portal_requests

Feldname Datatipe Verplichting Schlüssel Gezondheid
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
36 Veld / kolom

Tabelle portal_settings

Feldname Datatipe Verplichting Schlüssel Gezondheid
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
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 Veld / kolom

Tabelle portal_users

Feldname Datatipe Verplichting Schlüssel Gezondheid
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 Veld / kolom

Tabelle pos_daily_closings

Feldname Datatipe Verplichting Schlüssel Gezondheid
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 Veld / kolom

Tabelle pos_held_sales

Feldname Datatipe Verplichting Schlüssel Gezondheid
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 Veld / kolom

Tabelle pos_registers

Feldname Datatipe Verplichting Schlüssel Gezondheid
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 Veld / kolom

Tabelle pos_transaction_items

Feldname Datatipe Verplichting Schlüssel Gezondheid
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 Veld / kolom

Tabelle pos_transactions

Feldname Datatipe Verplichting Schlüssel Gezondheid
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

🔌 Inleidende punten (UI&API's)

Art Metode Eindpunt / pad Titel & Zweck Aanpassing
⚡ REST API DELETE /api/v1/pos/held-sales/{held_sale_id}
discard_held_sale
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API GET /api/v1/pos/products/search
search_products
Semantic binding: not_evaluated; mutation=False
pos
⚡ REST API GET /api/v1/pos/registers
list_registers
Semantic binding: not_evaluated; mutation=False
pos
⚡ REST API GET /api/v1/pos/registers/{register_id}
get_register
Semantic binding: not_evaluated; mutation=False
pos
⚡ REST API GET /api/v1/pos/registers/{register_id}/held-sales
list_held_sales
Semantic binding: not_evaluated; mutation=False
pos
⚡ REST API GET /api/v1/pos/transactions/{transaction_id}
get_transaction
Semantic binding: not_evaluated; mutation=False
pos
⚡ REST API GET /pos
pos_terminal_page
Semantic binding: not_evaluated; mutation=False
pos
⚡ REST API POST /api/v1/pos/held-sales/{held_sale_id}/resume
resume_held_sale
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers
create_register
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers/{register_id}/cash-movement
cash_movement
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers/{register_id}/checkout
uitbetaling
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers/{register_id}/close
close_register
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers/{register_id}/daily-closing
daily_closing
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers/{register_id}/held-sales
hold_sale
Semantic binding: not_evaluated; mutation=True
pos
⚡ REST API POST /api/v1/pos/registers/{register_id}/open
open_register
Semantic binding: not_evaluated; mutation=True
pos

🛡️ Reglementarische en compliance

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • De Commissie heeft de Commissie verzocht om een aanvullende verordening te treffen.
  • De volgende functies worden toegepast: