Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,10 @@ def sync_detailed(
Generate an ad-hoc financial statement directly from the tenant's OLTP ledger data using the active
CoA→GAAP mapping. This is the authoritative source for RoboLedger entity graphs — no graph
materialization required. One entity's books: `entity_id` names a subsidiary, omitted means the
group parent; `consolidated` on the parent combines every entity of the group at the rs-gaap
concepts, with no eliminations. Rejected on shared-repository graphs; those should use `financial-
statement-analysis` instead.
group parent. On the parent, `scope: combined` sums every member consolidated in full at the rs-gaap
concepts for the months each was a member, nothing eliminated, and `scope: consolidated` adds the
consolidation entity's entries — the eliminations and noncontrolling interest. Rejected on shared-
repository graphs; those should use `financial-statement-analysis` instead.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -164,9 +165,10 @@ def sync(
Generate an ad-hoc financial statement directly from the tenant's OLTP ledger data using the active
CoA→GAAP mapping. This is the authoritative source for RoboLedger entity graphs — no graph
materialization required. One entity's books: `entity_id` names a subsidiary, omitted means the
group parent; `consolidated` on the parent combines every entity of the group at the rs-gaap
concepts, with no eliminations. Rejected on shared-repository graphs; those should use `financial-
statement-analysis` instead.
group parent. On the parent, `scope: combined` sums every member consolidated in full at the rs-gaap
concepts for the months each was a member, nothing eliminated, and `scope: consolidated` adds the
consolidation entity's entries — the eliminations and noncontrolling interest. Rejected on shared-
repository graphs; those should use `financial-statement-analysis` instead.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -205,9 +207,10 @@ async def asyncio_detailed(
Generate an ad-hoc financial statement directly from the tenant's OLTP ledger data using the active
CoA→GAAP mapping. This is the authoritative source for RoboLedger entity graphs — no graph
materialization required. One entity's books: `entity_id` names a subsidiary, omitted means the
group parent; `consolidated` on the parent combines every entity of the group at the rs-gaap
concepts, with no eliminations. Rejected on shared-repository graphs; those should use `financial-
statement-analysis` instead.
group parent. On the parent, `scope: combined` sums every member consolidated in full at the rs-gaap
concepts for the months each was a member, nothing eliminated, and `scope: consolidated` adds the
consolidation entity's entries — the eliminations and noncontrolling interest. Rejected on shared-
repository graphs; those should use `financial-statement-analysis` instead.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -249,9 +252,10 @@ async def asyncio(
Generate an ad-hoc financial statement directly from the tenant's OLTP ledger data using the active
CoA→GAAP mapping. This is the authoritative source for RoboLedger entity graphs — no graph
materialization required. One entity's books: `entity_id` names a subsidiary, omitted means the
group parent; `consolidated` on the parent combines every entity of the group at the rs-gaap
concepts, with no eliminations. Rejected on shared-repository graphs; those should use `financial-
statement-analysis` instead.
group parent. On the parent, `scope: combined` sums every member consolidated in full at the rs-gaap
concepts for the months each was a member, nothing eliminated, and `scope: consolidated` adds the
consolidation entity's entries — the eliminations and noncontrolling interest. Rejected on shared-
repository graphs; those should use `financial-statement-analysis` instead.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down
20 changes: 16 additions & 4 deletions robosystems_client/api/robo_ledger_setup/create_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,10 @@ def sync_detailed(
omitting it means the group parent. The Reporting Style follows `entity_type` unless
`reporting_style_id` names one. `ticker` prefixes the entity's account names and must be unique in
the graph (409). There is no cap on entities: a graph is one reporting group, and everyone with
access to it sees every entity.
access to it sees every entity. `ownership_pct` implies the `consolidation_method` (50 and above
full, 20 to 50 equity, below 20 cost) unless one is given; `entity_role: consolidation` makes this
the group's entity for consolidating entries, read by the consolidated statements only; `joined_on`
dates an acquired subsidiary's membership.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -176,7 +179,10 @@ def sync(
omitting it means the group parent. The Reporting Style follows `entity_type` unless
`reporting_style_id` names one. `ticker` prefixes the entity's account names and must be unique in
the graph (409). There is no cap on entities: a graph is one reporting group, and everyone with
access to it sees every entity.
access to it sees every entity. `ownership_pct` implies the `consolidation_method` (50 and above
full, 20 to 50 equity, below 20 cost) unless one is given; `entity_role: consolidation` makes this
the group's entity for consolidating entries, read by the consolidated statements only; `joined_on`
dates an acquired subsidiary's membership.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -226,7 +232,10 @@ async def asyncio_detailed(
omitting it means the group parent. The Reporting Style follows `entity_type` unless
`reporting_style_id` names one. `ticker` prefixes the entity's account names and must be unique in
the graph (409). There is no cap on entities: a graph is one reporting group, and everyone with
access to it sees every entity.
access to it sees every entity. `ownership_pct` implies the `consolidation_method` (50 and above
full, 20 to 50 equity, below 20 cost) unless one is given; `entity_role: consolidation` makes this
the group's entity for consolidating entries, read by the consolidated statements only; `joined_on`
dates an acquired subsidiary's membership.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -279,7 +288,10 @@ async def asyncio(
omitting it means the group parent. The Reporting Style follows `entity_type` unless
`reporting_style_id` names one. `ticker` prefixes the entity's account names and must be unique in
the graph (409). There is no cap on entities: a graph is one reporting group, and everyone with
access to it sees every entity.
access to it sees every entity. `ownership_pct` implies the `consolidation_method` (50 and above
full, 20 to 50 equity, below 20 cost) unless one is given; `entity_role: consolidation` makes this
the group's entity for consolidating entries, read by the consolidated statements only; `joined_on`
dates an acquired subsidiary's membership.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down
16 changes: 16 additions & 0 deletions robosystems_client/api/robo_ledger_setup/update_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ def sync_detailed(
Update an entity of the graph's reporting group. Only provided (non-null) fields are updated. Omit
`entity_id` to target the group parent; name a subsidiary's id to edit it. `ownership_pct` is
refused on the group parent (422), and `ticker` must stay unique in the graph (409).
`consolidation_method` overrides the treatment the share implies (a new share re-derives it unless
both are given), `entity_role: consolidation` marks the group's entity for consolidating entries,
and `joined_on` / `left_on` bound its membership by month — set `left_on` when a subsidiary leaves
the group and its history stays readable under it.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -164,6 +168,10 @@ def sync(
Update an entity of the graph's reporting group. Only provided (non-null) fields are updated. Omit
`entity_id` to target the group parent; name a subsidiary's id to edit it. `ownership_pct` is
refused on the group parent (422), and `ticker` must stay unique in the graph (409).
`consolidation_method` overrides the treatment the share implies (a new share re-derives it unless
both are given), `entity_role: consolidation` marks the group's entity for consolidating entries,
and `joined_on` / `left_on` bound its membership by month — set `left_on` when a subsidiary leaves
the group and its history stays readable under it.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -207,6 +215,10 @@ async def asyncio_detailed(
Update an entity of the graph's reporting group. Only provided (non-null) fields are updated. Omit
`entity_id` to target the group parent; name a subsidiary's id to edit it. `ownership_pct` is
refused on the group parent (422), and `ticker` must stay unique in the graph (409).
`consolidation_method` overrides the treatment the share implies (a new share re-derives it unless
both are given), `entity_role: consolidation` marks the group's entity for consolidating entries,
and `joined_on` / `left_on` bound its membership by month — set `left_on` when a subsidiary leaves
the group and its history stays readable under it.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -253,6 +265,10 @@ async def asyncio(
Update an entity of the graph's reporting group. Only provided (non-null) fields are updated. Omit
`entity_id` to target the group parent; name a subsidiary's id to edit it. `ownership_pct` is
refused on the group parent (422), and `ticker` must stay unique in the graph (409).
`consolidation_method` overrides the treatment the share implies (a new share re-derives it unless
both are given), `entity_role: consolidation` marks the group's entity for consolidating entries,
and `joined_on` / `left_on` bound its membership by month — set `left_on` when a subsidiary leaves
the group and its history stays readable under it.

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,15 @@ def sync_detailed(
elements, associations, and rules. Dispatches by `taxonomy_type` — `chart_of_accounts` (declarative
tenant CoA), `reporting_extension`, and `custom_ontology` are supported; `reporting_standard` is
library-origin (501). `reporting_extension` / `custom_ontology` authoring may be disabled per
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. NOT the path for a functional
close schedule: a structure with block_type='schedule' here is a bare ontology row with none of the
schedule machinery (per-period facts, schedule_entry_due obligations, closing-entry generator). To
create a working schedule use create-information-block(block_type='schedule').
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. A `reporting_extension` structure
with `extends_network` adds rows to the entity's balance sheet, income statement, cash flow or
equity statement: its arcs layer onto that Reporting Style network, anchored and checked when
authored (refused with a reason, 422). Prefer an rs-gaap concept for a row — any library concept may
be named, including ones not yet in this graph — and give a tenant concept a `parent_ref` to the rs-
gaap concept it refines. NOT the path for a functional close schedule: a structure with
block_type='schedule' here is a bare ontology row with none of the schedule machinery (per-period
facts, schedule_entry_due obligations, closing-entry generator). To create a working schedule use
create-information-block(block_type='schedule').

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -172,10 +177,15 @@ def sync(
elements, associations, and rules. Dispatches by `taxonomy_type` — `chart_of_accounts` (declarative
tenant CoA), `reporting_extension`, and `custom_ontology` are supported; `reporting_standard` is
library-origin (501). `reporting_extension` / `custom_ontology` authoring may be disabled per
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. NOT the path for a functional
close schedule: a structure with block_type='schedule' here is a bare ontology row with none of the
schedule machinery (per-period facts, schedule_entry_due obligations, closing-entry generator). To
create a working schedule use create-information-block(block_type='schedule').
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. A `reporting_extension` structure
with `extends_network` adds rows to the entity's balance sheet, income statement, cash flow or
equity statement: its arcs layer onto that Reporting Style network, anchored and checked when
authored (refused with a reason, 422). Prefer an rs-gaap concept for a row — any library concept may
be named, including ones not yet in this graph — and give a tenant concept a `parent_ref` to the rs-
gaap concept it refines. NOT the path for a functional close schedule: a structure with
block_type='schedule' here is a bare ontology row with none of the schedule machinery (per-period
facts, schedule_entry_due obligations, closing-entry generator). To create a working schedule use
create-information-block(block_type='schedule').

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -222,10 +232,15 @@ async def asyncio_detailed(
elements, associations, and rules. Dispatches by `taxonomy_type` — `chart_of_accounts` (declarative
tenant CoA), `reporting_extension`, and `custom_ontology` are supported; `reporting_standard` is
library-origin (501). `reporting_extension` / `custom_ontology` authoring may be disabled per
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. NOT the path for a functional
close schedule: a structure with block_type='schedule' here is a bare ontology row with none of the
schedule machinery (per-period facts, schedule_entry_due obligations, closing-entry generator). To
create a working schedule use create-information-block(block_type='schedule').
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. A `reporting_extension` structure
with `extends_network` adds rows to the entity's balance sheet, income statement, cash flow or
equity statement: its arcs layer onto that Reporting Style network, anchored and checked when
authored (refused with a reason, 422). Prefer an rs-gaap concept for a row — any library concept may
be named, including ones not yet in this graph — and give a tenant concept a `parent_ref` to the rs-
gaap concept it refines. NOT the path for a functional close schedule: a structure with
block_type='schedule' here is a bare ontology row with none of the schedule machinery (per-period
facts, schedule_entry_due obligations, closing-entry generator). To create a working schedule use
create-information-block(block_type='schedule').

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down Expand Up @@ -275,10 +290,15 @@ async def asyncio(
elements, associations, and rules. Dispatches by `taxonomy_type` — `chart_of_accounts` (declarative
tenant CoA), `reporting_extension`, and `custom_ontology` are supported; `reporting_standard` is
library-origin (501). `reporting_extension` / `custom_ontology` authoring may be disabled per
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. NOT the path for a functional
close schedule: a structure with block_type='schedule' here is a bare ontology row with none of the
schedule machinery (per-period facts, schedule_entry_due obligations, closing-entry generator). To
create a working schedule use create-information-block(block_type='schedule').
environment (TAXONOMY_AUTHORING_ENABLED) — disabled surfaces 403. A `reporting_extension` structure
with `extends_network` adds rows to the entity's balance sheet, income statement, cash flow or
equity statement: its arcs layer onto that Reporting Style network, anchored and checked when
authored (refused with a reason, 422). Prefer an rs-gaap concept for a row — any library concept may
be named, including ones not yet in this graph — and give a tenant concept a `parent_ref` to the rs-
gaap concept it refines. NOT the path for a functional close schedule: a structure with
block_type='schedule' here is a bare ontology row with none of the schedule machinery (per-period
facts, schedule_entry_due obligations, closing-entry generator). To create a working schedule use
create-information-block(block_type='schedule').

**Idempotency**: supply an `Idempotency-Key` header to make safe retries; replays within 24 hours
return the same envelope. Reusing the key with a different body returns HTTP 409 Conflict.
Expand Down
4 changes: 4 additions & 0 deletions robosystems_client/graphql/generated/get_ledger_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ class GetLedgerEntityEntity(BaseModel):
is_parent: bool = Field(alias="isParent")
parent_entity_id: Optional[str] = Field(alias="parentEntityId")
ownership_pct: Optional[float] = Field(alias="ownershipPct")
consolidation_method: str = Field(alias="consolidationMethod")
entity_role: str = Field(alias="entityRole")
joined_on: Optional[str] = Field(alias="joinedOn")
left_on: Optional[str] = Field(alias="leftOn")
source: str
source_id: Optional[str] = Field(alias="sourceId")
source_graph_id: Optional[str] = Field(alias="sourceGraphId")
Expand Down
4 changes: 4 additions & 0 deletions robosystems_client/graphql/generated/list_ledger_entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ class ListLedgerEntitiesEntities(BaseModel):
is_parent: bool = Field(alias="isParent")
parent_entity_id: Optional[str] = Field(alias="parentEntityId")
ownership_pct: Optional[float] = Field(alias="ownershipPct")
consolidation_method: str = Field(alias="consolidationMethod")
entity_role: str = Field(alias="entityRole")
joined_on: Optional[str] = Field(alias="joinedOn")
left_on: Optional[str] = Field(alias="leftOn")
source: str
source_graph_id: Optional[str] = Field(alias="sourceGraphId")
connection_id: Optional[str] = Field(alias="connectionId")
Expand Down
Loading
Loading