96 lines
2.2 KiB
Markdown
96 lines
2.2 KiB
Markdown
# ontology_v0_1
|
|
|
|
## Scope
|
|
|
|
Базовая каноническая онтология бухгалтерского контура для MVP и assistant layer.
|
|
|
|
## Core Facts
|
|
|
|
### Posting (primary fact)
|
|
|
|
`Posting` — основной факт бухгалтерского отражения.
|
|
|
|
Required fields:
|
|
- `posting_id`
|
|
- `period`
|
|
- `document_id`
|
|
- `organization_id`
|
|
- `debit_account_id`
|
|
- `credit_account_id`
|
|
- `amount`
|
|
- `source_register`
|
|
|
|
Optional fields:
|
|
- `currency_id`
|
|
- `subconto_1`
|
|
- `subconto_2`
|
|
- `subconto_3`
|
|
- `content`
|
|
- `is_active`
|
|
|
|
### RegisterMovement (secondary fact)
|
|
|
|
`RegisterMovement` — вспомогательный факт трассировки, не второй источник истины для учета.
|
|
|
|
Required fields:
|
|
- `movement_id`
|
|
- `register_name`
|
|
- `period`
|
|
- `recorder_document_id`
|
|
|
|
Optional fields:
|
|
- `organization_id`
|
|
- `dimensions`
|
|
- `resources`
|
|
- `is_active`
|
|
|
|
### Document
|
|
|
|
Required fields:
|
|
- `document_id`
|
|
- `document_type`
|
|
- `number`
|
|
- `date`
|
|
|
|
Optional fields:
|
|
- `organization_id`
|
|
- `counterparty_id`
|
|
- `contract_id`
|
|
- `posted_flag`
|
|
- `author_id`
|
|
- `comment`
|
|
- `source_entity_set`
|
|
|
|
## Main Dimensions
|
|
|
|
- `Account`
|
|
- `SubcontoType`
|
|
- `Counterparty`
|
|
- `Contract`
|
|
- `Organization`
|
|
- `BankAccount`
|
|
- `Currency`
|
|
- `Item`
|
|
|
|
## Canonical Relations
|
|
|
|
- `Document -> creates -> Posting`
|
|
- `Posting -> basedOn -> Document`
|
|
- `Posting -> debitAccount -> Account`
|
|
- `Posting -> creditAccount -> Account`
|
|
- `Posting -> belongsTo -> Organization`
|
|
- `Posting -> hasCurrency -> Currency`
|
|
- `Posting -> usesSubcontoType -> SubcontoType`
|
|
- `Counterparty -> hasContract -> Contract`
|
|
- `Organization -> ownsBankAccount -> BankAccount`
|
|
- `Document -> referencesCounterparty -> Counterparty`
|
|
- `Document -> referencesContract -> Contract`
|
|
- `Document -> referencesOrganization -> Organization`
|
|
- `Document -> referencesBankAccount -> BankAccount`
|
|
|
|
## Modeling Rules
|
|
|
|
1. `Posting` и `RegisterMovement` не дублируют один и тот же факт без явного правила приоритета.
|
|
2. Каждая связь имеет `probe_status`: `direct|derivable|opaque|missing`.
|
|
3. Источник связи фиксируется через `source_evidence` (metadata, navigation link, key-based join, inference).
|