kensho-kfinance 3.2.14__py3-none-any.whl → 3.2.15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kensho-kfinance might be problematic. Click here for more details.
- {kensho_kfinance-3.2.14.dist-info → kensho_kfinance-3.2.15.dist-info}/METADATA +1 -1
- {kensho_kfinance-3.2.14.dist-info → kensho_kfinance-3.2.15.dist-info}/RECORD +12 -12
- kfinance/CHANGELOG.md +4 -0
- kfinance/domains/competitors/competitor_tools.py +3 -1
- kfinance/domains/line_items/line_item_models.py +329 -12
- kfinance/domains/line_items/line_item_tools.py +83 -1
- kfinance/domains/line_items/tests/test_line_item_tools.py +139 -1
- kfinance/version.py +2 -2
- {kensho_kfinance-3.2.14.dist-info → kensho_kfinance-3.2.15.dist-info}/WHEEL +0 -0
- {kensho_kfinance-3.2.14.dist-info → kensho_kfinance-3.2.15.dist-info}/licenses/AUTHORS.md +0 -0
- {kensho_kfinance-3.2.14.dist-info → kensho_kfinance-3.2.15.dist-info}/licenses/LICENSE +0 -0
- {kensho_kfinance-3.2.14.dist-info → kensho_kfinance-3.2.15.dist-info}/top_level.txt +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
1
2
|
from decimal import Decimal
|
|
2
3
|
from itertools import chain
|
|
3
4
|
from typing import TypedDict
|
|
@@ -9,11 +10,21 @@ class LineItemResponse(BaseModel):
|
|
|
9
10
|
line_item: dict[str, Decimal | None]
|
|
10
11
|
|
|
11
12
|
|
|
13
|
+
@dataclass
|
|
14
|
+
class LineItemScore:
|
|
15
|
+
"""Represents a line item match with its similarity score."""
|
|
16
|
+
|
|
17
|
+
name: str
|
|
18
|
+
description: str
|
|
19
|
+
score: float
|
|
20
|
+
|
|
21
|
+
|
|
12
22
|
class LineItemType(TypedDict):
|
|
13
23
|
name: str
|
|
14
24
|
aliases: set[str]
|
|
15
25
|
dataitemid: int
|
|
16
26
|
spgi_name: str
|
|
27
|
+
description: str
|
|
17
28
|
|
|
18
29
|
|
|
19
30
|
# all of these values must be lower case keys
|
|
@@ -23,82 +34,113 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
23
34
|
"aliases": {"normal_revenue", "regular_revenue"},
|
|
24
35
|
"dataitemid": 112,
|
|
25
36
|
"spgi_name": "Revenue",
|
|
37
|
+
"description": "Revenue recognized from primary business activities (excludes non-operating income).",
|
|
26
38
|
},
|
|
27
39
|
{
|
|
28
40
|
"name": "finance_division_revenue",
|
|
29
41
|
"aliases": set(),
|
|
30
42
|
"dataitemid": 52,
|
|
31
43
|
"spgi_name": "Finance Div. Revenue",
|
|
44
|
+
"description": "Revenue generated by a company's finance or captive lending operations.",
|
|
32
45
|
},
|
|
33
46
|
{
|
|
34
47
|
"name": "insurance_division_revenue",
|
|
35
48
|
"aliases": set(),
|
|
36
49
|
"dataitemid": 70,
|
|
37
50
|
"spgi_name": "Insurance Div. Revenue",
|
|
51
|
+
"description": "Revenue attributable to insurance activities within a diversified company.",
|
|
38
52
|
},
|
|
39
53
|
{
|
|
40
54
|
"name": "revenue_from_sale_of_assets",
|
|
41
55
|
"aliases": set(),
|
|
42
56
|
"dataitemid": 104,
|
|
43
57
|
"spgi_name": "Gain(Loss) on Sale Of Assets (Rev)",
|
|
58
|
+
"description": "Revenue recognized from selling long-lived assets outside normal product sales.",
|
|
44
59
|
},
|
|
45
60
|
{
|
|
46
61
|
"name": "revenue_from_sale_of_investments",
|
|
47
62
|
"aliases": set(),
|
|
48
63
|
"dataitemid": 106,
|
|
49
64
|
"spgi_name": "Gain(Loss) on Sale Of Invest. (Rev)",
|
|
65
|
+
"description": "Revenue recognized from disposing of investment securities or ownership stakes.",
|
|
50
66
|
},
|
|
51
67
|
{
|
|
52
68
|
"name": "revenue_from_interest_and_investment_income",
|
|
53
69
|
"aliases": set(),
|
|
54
70
|
"dataitemid": 110,
|
|
55
71
|
"spgi_name": "Interest And Invest. Income (Rev)",
|
|
72
|
+
"description": "Interest and investment returns classified within revenue rather than other income.",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "other_revenue",
|
|
76
|
+
"aliases": set(),
|
|
77
|
+
"dataitemid": 90,
|
|
78
|
+
"spgi_name": "Other Revenue",
|
|
79
|
+
"description": "Miscellaneous revenue that does not fall into primary operating categories.",
|
|
56
80
|
},
|
|
57
|
-
{"name": "other_revenue", "aliases": set(), "dataitemid": 90, "spgi_name": "Other Revenue"},
|
|
58
81
|
{
|
|
59
82
|
"name": "total_other_revenue",
|
|
60
83
|
"aliases": set(),
|
|
61
84
|
"dataitemid": 357,
|
|
62
85
|
"spgi_name": "Other Revenue, Total",
|
|
86
|
+
"description": "Aggregate of all non-core or miscellaneous revenue categories.",
|
|
63
87
|
},
|
|
64
88
|
{
|
|
65
89
|
"name": "fees_and_other_income",
|
|
66
90
|
"aliases": set(),
|
|
67
91
|
"dataitemid": 168,
|
|
68
92
|
"spgi_name": "Fees and Other Income",
|
|
93
|
+
"description": "Fee-based revenue combined with ancillary income streams in one line item.",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "total_revenue",
|
|
97
|
+
"aliases": set(),
|
|
98
|
+
"dataitemid": 28,
|
|
99
|
+
"spgi_name": "Total Revenue",
|
|
100
|
+
"description": "Sum of operating and non-operating revenue streams for the period.",
|
|
69
101
|
},
|
|
70
|
-
{"name": "total_revenue", "aliases": set(), "dataitemid": 28, "spgi_name": "Total Revenue"},
|
|
71
102
|
{
|
|
72
103
|
"name": "cost_of_goods_sold",
|
|
73
104
|
"aliases": {"cogs"},
|
|
74
105
|
"dataitemid": 34,
|
|
75
106
|
"spgi_name": "Cost Of Goods Sold",
|
|
107
|
+
"description": "Direct costs attributable to producing goods sold during the period.",
|
|
76
108
|
},
|
|
77
109
|
{
|
|
78
110
|
"name": "finance_division_operating_expense",
|
|
79
111
|
"aliases": {"operating_expense_finance_division"},
|
|
80
112
|
"dataitemid": 51,
|
|
81
113
|
"spgi_name": "Finance Div. Operating Exp.",
|
|
114
|
+
"description": "Operating expenses incurred within the company's finance or captive lending division.",
|
|
82
115
|
},
|
|
83
116
|
{
|
|
84
117
|
"name": "insurance_division_operating_expense",
|
|
85
118
|
"aliases": {"operating_expense_insurance_division"},
|
|
86
119
|
"dataitemid": 69,
|
|
87
120
|
"spgi_name": "Insurance Div. Operating Exp.",
|
|
121
|
+
"description": "Operating expenses tied to insurance operations inside a diversified company.",
|
|
88
122
|
},
|
|
89
123
|
{
|
|
90
124
|
"name": "finance_division_interest_expense",
|
|
91
125
|
"aliases": {"interest_expense_finance_division"},
|
|
92
126
|
"dataitemid": 50,
|
|
93
127
|
"spgi_name": "Interest Expense - Finance Division",
|
|
128
|
+
"description": "Interest expense recognized by the finance or captive lending division.",
|
|
94
129
|
},
|
|
95
130
|
{
|
|
96
131
|
"name": "cost_of_revenue",
|
|
97
132
|
"aliases": {"cor"},
|
|
98
133
|
"dataitemid": 1,
|
|
99
134
|
"spgi_name": "Cost Of Revenue",
|
|
135
|
+
"description": "Direct costs associated with delivering goods or services that generate revenue.",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "gross_profit",
|
|
139
|
+
"aliases": set(),
|
|
140
|
+
"dataitemid": 10,
|
|
141
|
+
"spgi_name": "Gross Profit",
|
|
142
|
+
"description": "Revenue minus cost_of_goods_sold or cost_of_revenue for the reported period.",
|
|
100
143
|
},
|
|
101
|
-
{"name": "gross_profit", "aliases": set(), "dataitemid": 10, "spgi_name": "Gross Profit"},
|
|
102
144
|
{
|
|
103
145
|
"name": "selling_general_and_admin_expense",
|
|
104
146
|
"aliases": {
|
|
@@ -109,6 +151,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
109
151
|
},
|
|
110
152
|
"dataitemid": 102,
|
|
111
153
|
"spgi_name": "Selling General & Admin Exp.",
|
|
154
|
+
"description": "Combined selling, general, and administrative operating expenses.",
|
|
112
155
|
},
|
|
113
156
|
{
|
|
114
157
|
"name": "exploration_and_drilling_costs",
|
|
@@ -117,6 +160,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
117
160
|
},
|
|
118
161
|
"dataitemid": 49,
|
|
119
162
|
"spgi_name": "Exploration/Drilling Costs",
|
|
163
|
+
"description": "Costs incurred for exploration and drilling activities in energy sectors.",
|
|
120
164
|
},
|
|
121
165
|
{
|
|
122
166
|
"name": "provision_for_bad_debts",
|
|
@@ -125,6 +169,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
125
169
|
},
|
|
126
170
|
"dataitemid": 95,
|
|
127
171
|
"spgi_name": "Provision for Bad Debts",
|
|
172
|
+
"description": "Allowance for credit losses on receivables recorded during the period.",
|
|
128
173
|
},
|
|
129
174
|
{
|
|
130
175
|
"name": "pre_opening_costs",
|
|
@@ -133,6 +178,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
133
178
|
},
|
|
134
179
|
"dataitemid": 96,
|
|
135
180
|
"spgi_name": "Pre-Opening Costs",
|
|
181
|
+
"description": "Costs associated with opening new locations or facilities before revenue starts.",
|
|
136
182
|
},
|
|
137
183
|
{
|
|
138
184
|
"name": "total_selling_general_and_admin_expense",
|
|
@@ -143,6 +189,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
143
189
|
},
|
|
144
190
|
"dataitemid": 23,
|
|
145
191
|
"spgi_name": "SG&A Exp., Total",
|
|
192
|
+
"description": "Aggregate SG&A expenses including all subcategories.",
|
|
146
193
|
},
|
|
147
194
|
{
|
|
148
195
|
"name": "research_and_development_expense",
|
|
@@ -155,6 +202,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
155
202
|
},
|
|
156
203
|
"dataitemid": 100,
|
|
157
204
|
"spgi_name": "R & D Exp.",
|
|
205
|
+
"description": "Expenses incurred for research and development activities.",
|
|
158
206
|
},
|
|
159
207
|
{
|
|
160
208
|
"name": "depreciation_and_amortization",
|
|
@@ -164,12 +212,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
164
212
|
},
|
|
165
213
|
"dataitemid": 41,
|
|
166
214
|
"spgi_name": "Depreciation & Amort.",
|
|
215
|
+
"description": "Combined depreciation and amortization expense for the period.",
|
|
167
216
|
},
|
|
168
217
|
{
|
|
169
218
|
"name": "amortization_of_goodwill_and_intangibles",
|
|
170
219
|
"aliases": set(),
|
|
171
220
|
"dataitemid": 31,
|
|
172
221
|
"spgi_name": "Amort. of Goodwill and Intangibles",
|
|
222
|
+
"description": "Amortization expense tied to goodwill and other intangible assets.",
|
|
173
223
|
},
|
|
174
224
|
{
|
|
175
225
|
"name": "impairment_of_oil_gas_and_mineral_properties",
|
|
@@ -179,6 +229,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
179
229
|
},
|
|
180
230
|
"dataitemid": 71,
|
|
181
231
|
"spgi_name": "Impair. of Oil, Gas & Mineral Prop.",
|
|
232
|
+
"description": "Impairment charges related to oil, gas, or mineral property valuations.",
|
|
182
233
|
},
|
|
183
234
|
{
|
|
184
235
|
"name": "total_depreciation_and_amortization",
|
|
@@ -188,18 +239,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
188
239
|
},
|
|
189
240
|
"dataitemid": 2,
|
|
190
241
|
"spgi_name": "Depreciation & Amort., Total",
|
|
242
|
+
"description": "Total depreciation and amortization expense reported for the period.",
|
|
191
243
|
},
|
|
192
244
|
{
|
|
193
245
|
"name": "other_operating_expense",
|
|
194
246
|
"aliases": set(),
|
|
195
247
|
"dataitemid": 260,
|
|
196
248
|
"spgi_name": "Other Operating Expense/(Income)",
|
|
249
|
+
"description": "Operating expenses not classified under standard categories.",
|
|
197
250
|
},
|
|
198
251
|
{
|
|
199
252
|
"name": "total_other_operating_expense",
|
|
200
253
|
"aliases": set(),
|
|
201
254
|
"dataitemid": 380,
|
|
202
255
|
"spgi_name": "Other Operating Exp., Total",
|
|
256
|
+
"description": "Aggregate of operating expenses not categorized elsewhere.",
|
|
203
257
|
},
|
|
204
258
|
{
|
|
205
259
|
"name": "total_operating_expense",
|
|
@@ -208,54 +262,63 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
208
262
|
},
|
|
209
263
|
"dataitemid": 373,
|
|
210
264
|
"spgi_name": "Total Operating Expenses",
|
|
265
|
+
"description": "Sum of all operating expenses for the reporting period.",
|
|
211
266
|
},
|
|
212
267
|
{
|
|
213
268
|
"name": "operating_income",
|
|
214
269
|
"aliases": set(),
|
|
215
270
|
"dataitemid": 21,
|
|
216
271
|
"spgi_name": "Operating Income",
|
|
272
|
+
"description": "Operating profit after subtracting operating expenses from operating revenue.",
|
|
217
273
|
},
|
|
218
274
|
{
|
|
219
275
|
"name": "interest_expense",
|
|
220
276
|
"aliases": set(),
|
|
221
277
|
"dataitemid": 82,
|
|
222
278
|
"spgi_name": "Interest Expense",
|
|
279
|
+
"description": "Total interest expense recognized during the period.",
|
|
223
280
|
},
|
|
224
281
|
{
|
|
225
282
|
"name": "interest_and_investment_income",
|
|
226
283
|
"aliases": set(),
|
|
227
284
|
"dataitemid": 65,
|
|
228
285
|
"spgi_name": "Interest and Invest. Income",
|
|
286
|
+
"description": "Income from interest-bearing assets and investment returns outside core operations.",
|
|
229
287
|
},
|
|
230
288
|
{
|
|
231
289
|
"name": "net_interest_expense",
|
|
232
290
|
"aliases": set(),
|
|
233
291
|
"dataitemid": 368,
|
|
234
292
|
"spgi_name": "Net Interest Exp.",
|
|
293
|
+
"description": "Interest expense net of any interest income for the period.",
|
|
235
294
|
},
|
|
236
295
|
{
|
|
237
296
|
"name": "income_from_affiliates",
|
|
238
297
|
"aliases": set(),
|
|
239
298
|
"dataitemid": 47,
|
|
240
299
|
"spgi_name": "Income / (Loss) from Affiliates",
|
|
300
|
+
"description": "Equity-method income earned from affiliated companies.",
|
|
241
301
|
},
|
|
242
302
|
{
|
|
243
303
|
"name": "currency_exchange_gains",
|
|
244
304
|
"aliases": set(),
|
|
245
305
|
"dataitemid": 38,
|
|
246
306
|
"spgi_name": "Currency Exchange Gains (Loss)",
|
|
307
|
+
"description": "Gains arising from favorable foreign currency movements.",
|
|
247
308
|
},
|
|
248
309
|
{
|
|
249
310
|
"name": "other_non_operating_income",
|
|
250
311
|
"aliases": set(),
|
|
251
312
|
"dataitemid": 85,
|
|
252
313
|
"spgi_name": "Other Non-Operating Inc. (Exp.)",
|
|
314
|
+
"description": "Non-operating income items not captured in other categories.",
|
|
253
315
|
},
|
|
254
316
|
{
|
|
255
317
|
"name": "total_other_non_operating_income",
|
|
256
318
|
"aliases": set(),
|
|
257
319
|
"dataitemid": 371,
|
|
258
320
|
"spgi_name": "Other Non-Operating Exp., Total",
|
|
321
|
+
"description": "Aggregate of non-operating income items (e.g., investment income, gains).",
|
|
259
322
|
},
|
|
260
323
|
{
|
|
261
324
|
"name": "ebt_excluding_unusual_items",
|
|
@@ -264,44 +327,57 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
264
327
|
},
|
|
265
328
|
"dataitemid": 4,
|
|
266
329
|
"spgi_name": "EBT Excl Unusual Items",
|
|
330
|
+
"description": "Earnings before taxes with unusual/non-recurring items removed.",
|
|
267
331
|
},
|
|
268
332
|
{
|
|
269
333
|
"name": "restructuring_charges",
|
|
270
334
|
"aliases": set(),
|
|
271
335
|
"dataitemid": 98,
|
|
272
336
|
"spgi_name": "Restructuring Charges",
|
|
337
|
+
"description": "Charges related to restructuring initiatives such as layoffs or facility closures.",
|
|
273
338
|
},
|
|
274
339
|
{
|
|
275
340
|
"name": "merger_charges",
|
|
276
341
|
"aliases": set(),
|
|
277
342
|
"dataitemid": 80,
|
|
278
343
|
"spgi_name": "Merger & Related Restruct. Charges",
|
|
344
|
+
"description": "Costs incurred during merger transactions.",
|
|
279
345
|
},
|
|
280
346
|
{
|
|
281
347
|
"name": "merger_and_restructuring_charges",
|
|
282
348
|
"aliases": set(),
|
|
283
349
|
"dataitemid": 363,
|
|
284
350
|
"spgi_name": "Merger & Restruct. Charges",
|
|
351
|
+
"description": "Combined charges stemming from merger and restructuring activities.",
|
|
285
352
|
},
|
|
286
353
|
{
|
|
287
354
|
"name": "impairment_of_goodwill",
|
|
288
355
|
"aliases": set(),
|
|
289
356
|
"dataitemid": 209,
|
|
290
357
|
"spgi_name": "Impairment of Goodwill",
|
|
358
|
+
"description": "Write-downs of goodwill carrying value due to impairment testing.",
|
|
291
359
|
},
|
|
292
360
|
{
|
|
293
361
|
"name": "gain_from_sale_of_assets",
|
|
294
362
|
"aliases": set(),
|
|
295
363
|
"dataitemid": 62,
|
|
296
364
|
"spgi_name": "Gain (Loss) On Sale Of Invest.",
|
|
365
|
+
"description": "Gain recognized from disposing tangible or intangible assets.",
|
|
297
366
|
},
|
|
298
367
|
{
|
|
299
368
|
"name": "gain_from_sale_of_investments",
|
|
300
369
|
"aliases": set(),
|
|
301
370
|
"dataitemid": 56,
|
|
302
371
|
"spgi_name": "Gain (Loss) On Sale Of Assets",
|
|
372
|
+
"description": "Gain realized from selling investment holdings.",
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "asset_writedown",
|
|
376
|
+
"aliases": set(),
|
|
377
|
+
"dataitemid": 32,
|
|
378
|
+
"spgi_name": "Asset Writedown",
|
|
379
|
+
"description": "Reduction in asset carrying value due to impairment or obsolescence.",
|
|
303
380
|
},
|
|
304
|
-
{"name": "asset_writedown", "aliases": set(), "dataitemid": 32, "spgi_name": "Asset Writedown"},
|
|
305
381
|
{
|
|
306
382
|
"name": "in_process_research_and_development_expense",
|
|
307
383
|
"aliases": {
|
|
@@ -313,30 +389,35 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
313
389
|
},
|
|
314
390
|
"dataitemid": 72,
|
|
315
391
|
"spgi_name": "In Process R & D Exp.",
|
|
392
|
+
"description": "Expense recognized for acquired in-process R&D projects.",
|
|
316
393
|
},
|
|
317
394
|
{
|
|
318
395
|
"name": "insurance_settlements",
|
|
319
396
|
"aliases": set(),
|
|
320
397
|
"dataitemid": 73,
|
|
321
398
|
"spgi_name": "Insurance Settlements",
|
|
399
|
+
"description": "Proceeds or expenses arising from insurance claim settlements.",
|
|
322
400
|
},
|
|
323
401
|
{
|
|
324
402
|
"name": "legal_settlements",
|
|
325
403
|
"aliases": set(),
|
|
326
404
|
"dataitemid": 77,
|
|
327
405
|
"spgi_name": "Legal Settlements",
|
|
406
|
+
"description": "Amounts paid or received to resolve legal actions.",
|
|
328
407
|
},
|
|
329
408
|
{
|
|
330
409
|
"name": "other_unusual_items",
|
|
331
410
|
"aliases": set(),
|
|
332
411
|
"dataitemid": 87,
|
|
333
412
|
"spgi_name": "Other Unusual Items",
|
|
413
|
+
"description": "Unusual or infrequent items not captured elsewhere.",
|
|
334
414
|
},
|
|
335
415
|
{
|
|
336
416
|
"name": "total_other_unusual_items",
|
|
337
417
|
"aliases": set(),
|
|
338
418
|
"dataitemid": 374,
|
|
339
419
|
"spgi_name": "Other Unusual Items, Total",
|
|
420
|
+
"description": "Aggregate impact of all unusual items except those categorized separately.",
|
|
340
421
|
},
|
|
341
422
|
{
|
|
342
423
|
"name": "total_unusual_items",
|
|
@@ -345,6 +426,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
345
426
|
},
|
|
346
427
|
"dataitemid": 19,
|
|
347
428
|
"spgi_name": "Total Unusual Items",
|
|
429
|
+
"description": "Aggregate impact of all unusual or non-recurring items for the reporting period.",
|
|
348
430
|
},
|
|
349
431
|
{
|
|
350
432
|
"name": "ebt_including_unusual_items",
|
|
@@ -353,6 +435,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
353
435
|
},
|
|
354
436
|
"dataitemid": 139,
|
|
355
437
|
"spgi_name": "EBT Incl. Unusual Items",
|
|
438
|
+
"description": "Earnings before taxes, including unusual or non-recurring items.",
|
|
356
439
|
},
|
|
357
440
|
{
|
|
358
441
|
"name": "income_tax_expense",
|
|
@@ -362,6 +445,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
362
445
|
},
|
|
363
446
|
"dataitemid": 75,
|
|
364
447
|
"spgi_name": "Income Tax Expense",
|
|
448
|
+
"description": "Total income tax expense recognized for the period.",
|
|
365
449
|
},
|
|
366
450
|
{
|
|
367
451
|
"name": "earnings_from_continued_operations",
|
|
@@ -370,6 +454,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
370
454
|
},
|
|
371
455
|
"dataitemid": 7,
|
|
372
456
|
"spgi_name": "Earnings from Cont. Ops.",
|
|
457
|
+
"description": "Earnings from ongoing operations excluding discontinued segments.",
|
|
373
458
|
},
|
|
374
459
|
{
|
|
375
460
|
"name": "earnings_from_discontinued_operations",
|
|
@@ -378,18 +463,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
378
463
|
},
|
|
379
464
|
"dataitemid": 40,
|
|
380
465
|
"spgi_name": "Earnings of Discontinued Ops.",
|
|
466
|
+
"description": "Net earnings attributable to discontinued operations.",
|
|
381
467
|
},
|
|
382
468
|
{
|
|
383
469
|
"name": "extraordinary_item_and_accounting_change",
|
|
384
470
|
"aliases": set(),
|
|
385
471
|
"dataitemid": 42,
|
|
386
472
|
"spgi_name": "Extraord. Item & Account. Change",
|
|
473
|
+
"description": "Combined impact of extraordinary items and accounting changes.",
|
|
387
474
|
},
|
|
388
475
|
{
|
|
389
476
|
"name": "net_income_to_company",
|
|
390
477
|
"aliases": set(),
|
|
391
478
|
"dataitemid": 41571,
|
|
392
479
|
"spgi_name": "Net Income to Company",
|
|
480
|
+
"description": "Net income attributable to the parent company.",
|
|
393
481
|
},
|
|
394
482
|
{
|
|
395
483
|
"name": "minority_interest_in_earnings",
|
|
@@ -398,55 +486,70 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
398
486
|
},
|
|
399
487
|
"dataitemid": 83,
|
|
400
488
|
"spgi_name": "Minority Int. in Earnings",
|
|
489
|
+
"description": "Earnings attributable to minority interest holders.",
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"name": "net_income",
|
|
493
|
+
"aliases": set(),
|
|
494
|
+
"dataitemid": 15,
|
|
495
|
+
"spgi_name": "Net Income",
|
|
496
|
+
"description": "Bottom-line profit attributable to common shareholders.",
|
|
401
497
|
},
|
|
402
|
-
{"name": "net_income", "aliases": set(), "dataitemid": 15, "spgi_name": "Net Income"},
|
|
403
498
|
{
|
|
404
499
|
"name": "premium_on_redemption_of_preferred_stock",
|
|
405
500
|
"aliases": set(),
|
|
406
501
|
"dataitemid": 279,
|
|
407
502
|
"spgi_name": "Premium on Redemption of Pref. Stock",
|
|
503
|
+
"description": "Premium paid when redeeming preferred shares above par value.",
|
|
408
504
|
},
|
|
409
505
|
{
|
|
410
506
|
"name": "preferred_stock_dividend",
|
|
411
507
|
"aliases": set(),
|
|
412
508
|
"dataitemid": 280,
|
|
413
509
|
"spgi_name": "Preferred Stock Dividend",
|
|
510
|
+
"description": "Dividends paid to preferred shareholders.",
|
|
414
511
|
},
|
|
415
512
|
{
|
|
416
513
|
"name": "other_preferred_stock_adjustments",
|
|
417
514
|
"aliases": set(),
|
|
418
515
|
"dataitemid": 281,
|
|
419
516
|
"spgi_name": "Other Pref. Stock Adjustments",
|
|
517
|
+
"description": "Adjustments related to preferred stock outside dividends and redemption premiums.",
|
|
420
518
|
},
|
|
421
519
|
{
|
|
422
520
|
"name": "other_adjustments_to_net_income",
|
|
423
521
|
"aliases": set(),
|
|
424
522
|
"dataitemid": 259,
|
|
425
523
|
"spgi_name": "Other Adjustments to Net Income",
|
|
524
|
+
"description": "Miscellaneous adjustments applied to net income calculations.",
|
|
426
525
|
},
|
|
427
526
|
{
|
|
428
527
|
"name": "preferred_dividends_and_other_adjustments",
|
|
429
528
|
"aliases": set(),
|
|
430
529
|
"dataitemid": 97,
|
|
431
530
|
"spgi_name": "Pref. Dividends and Other Adj.",
|
|
531
|
+
"description": "Combined preferred dividend and adjustment line item.",
|
|
432
532
|
},
|
|
433
533
|
{
|
|
434
534
|
"name": "net_income_allocable_to_general_partner",
|
|
435
535
|
"aliases": set(),
|
|
436
536
|
"dataitemid": 249,
|
|
437
537
|
"spgi_name": "Net Income Allocable to General Partner",
|
|
538
|
+
"description": "Net income portion allocated to the general partner.",
|
|
438
539
|
},
|
|
439
540
|
{
|
|
440
541
|
"name": "net_income_to_common_shareholders_including_extra_items",
|
|
441
542
|
"aliases": set(),
|
|
442
543
|
"dataitemid": 16,
|
|
443
544
|
"spgi_name": "NI to Common Incl. Extra Items",
|
|
545
|
+
"description": "Net income available to common shareholders inclusive of extraordinary items.",
|
|
444
546
|
},
|
|
445
547
|
{
|
|
446
548
|
"name": "net_income_to_common_shareholders_excluding_extra_items",
|
|
447
549
|
"aliases": set(),
|
|
448
550
|
"dataitemid": 379,
|
|
449
551
|
"spgi_name": "NI to Common Excl. Extra Items",
|
|
552
|
+
"description": "Net income to common shareholders excluding extraordinary items.",
|
|
450
553
|
},
|
|
451
554
|
{
|
|
452
555
|
"name": "cash_and_equivalents",
|
|
@@ -456,18 +559,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
456
559
|
},
|
|
457
560
|
"dataitemid": 1096,
|
|
458
561
|
"spgi_name": "Cash And Equivalents",
|
|
562
|
+
"description": "Cash on hand plus cash-equivalent short-term investments.",
|
|
459
563
|
},
|
|
460
564
|
{
|
|
461
565
|
"name": "short_term_investments",
|
|
462
566
|
"aliases": set(),
|
|
463
567
|
"dataitemid": 1069,
|
|
464
568
|
"spgi_name": "Short Term Investments",
|
|
569
|
+
"description": "Short-term investments readily convertible to cash.",
|
|
465
570
|
},
|
|
466
571
|
{
|
|
467
572
|
"name": "trading_asset_securities",
|
|
468
573
|
"aliases": set(),
|
|
469
574
|
"dataitemid": 1244,
|
|
470
575
|
"spgi_name": "Trading Asset Securities",
|
|
576
|
+
"description": "Trading securities held as short-term financial assets.",
|
|
471
577
|
},
|
|
472
578
|
{
|
|
473
579
|
"name": "total_cash_and_short_term_investments",
|
|
@@ -476,6 +582,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
476
582
|
},
|
|
477
583
|
"dataitemid": 1002,
|
|
478
584
|
"spgi_name": "Total Cash & ST Investments",
|
|
585
|
+
"description": "Total cash plus short-term investment balance.",
|
|
479
586
|
},
|
|
480
587
|
{
|
|
481
588
|
"name": "accounts_receivable",
|
|
@@ -485,6 +592,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
485
592
|
},
|
|
486
593
|
"dataitemid": 1021,
|
|
487
594
|
"spgi_name": "Accounts Receivable",
|
|
595
|
+
"description": "Accounts receivable balance due from customers.",
|
|
488
596
|
},
|
|
489
597
|
{
|
|
490
598
|
"name": "other_receivables",
|
|
@@ -494,6 +602,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
494
602
|
},
|
|
495
603
|
"dataitemid": 1206,
|
|
496
604
|
"spgi_name": "Other Receivables",
|
|
605
|
+
"description": "Receivables that are not trade receivables (e.g., tax refunds, employee advances).",
|
|
497
606
|
},
|
|
498
607
|
{
|
|
499
608
|
"name": "notes_receivable",
|
|
@@ -503,6 +612,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
503
612
|
},
|
|
504
613
|
"dataitemid": 1048,
|
|
505
614
|
"spgi_name": "Notes Receivable",
|
|
615
|
+
"description": "Amounts owed to the company via promissory notes.",
|
|
506
616
|
},
|
|
507
617
|
{
|
|
508
618
|
"name": "total_receivables",
|
|
@@ -515,6 +625,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
515
625
|
},
|
|
516
626
|
"dataitemid": 1001,
|
|
517
627
|
"spgi_name": "Total Receivables",
|
|
628
|
+
"description": "Aggregate receivable balance across categories.",
|
|
518
629
|
},
|
|
519
630
|
{
|
|
520
631
|
"name": "inventory",
|
|
@@ -523,6 +634,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
523
634
|
},
|
|
524
635
|
"dataitemid": 1043,
|
|
525
636
|
"spgi_name": "Inventory",
|
|
637
|
+
"description": "Inventory balance reported for the period.",
|
|
526
638
|
},
|
|
527
639
|
{
|
|
528
640
|
"name": "prepaid_expense",
|
|
@@ -531,6 +643,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
531
643
|
},
|
|
532
644
|
"dataitemid": 1212,
|
|
533
645
|
"spgi_name": "Prepaid Exp.",
|
|
646
|
+
"description": "Prepaid expenses for goods or services yet to be received.",
|
|
534
647
|
},
|
|
535
648
|
{
|
|
536
649
|
"name": "finance_division_loans_and_leases_short_term",
|
|
@@ -541,6 +654,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
541
654
|
},
|
|
542
655
|
"dataitemid": 1032,
|
|
543
656
|
"spgi_name": "Finance Div. Loans and Leases, ST",
|
|
657
|
+
"description": "Short-term loans and leases held by the finance division.",
|
|
544
658
|
},
|
|
545
659
|
{
|
|
546
660
|
"name": "finance_division_other_current_assets",
|
|
@@ -551,12 +665,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
551
665
|
},
|
|
552
666
|
"dataitemid": 1029,
|
|
553
667
|
"spgi_name": "Finance Div. Other Curr. Assets",
|
|
668
|
+
"description": "Other current assets specific to a company's finance division.",
|
|
554
669
|
},
|
|
555
670
|
{
|
|
556
671
|
"name": "loans_held_for_sale",
|
|
557
672
|
"aliases": set(),
|
|
558
673
|
"dataitemid": 1185,
|
|
559
674
|
"spgi_name": "Loans Held For Sale",
|
|
675
|
+
"description": "Loans designated for sale rather than retention on the balance sheet.",
|
|
560
676
|
},
|
|
561
677
|
{
|
|
562
678
|
"name": "deferred_tax_asset_current_portion",
|
|
@@ -566,18 +682,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
566
682
|
},
|
|
567
683
|
"dataitemid": 1117,
|
|
568
684
|
"spgi_name": "Deferred Tax Assets, Curr.",
|
|
685
|
+
"description": "Current portion of deferred tax assets expected to be realized within a year.",
|
|
569
686
|
},
|
|
570
687
|
{
|
|
571
688
|
"name": "restricted_cash",
|
|
572
689
|
"aliases": set(),
|
|
573
690
|
"dataitemid": 1104,
|
|
574
691
|
"spgi_name": "Restricted Cash",
|
|
692
|
+
"description": "Cash balances with usage restrictions (e.g., escrow, collateral).",
|
|
575
693
|
},
|
|
576
694
|
{
|
|
577
695
|
"name": "other_current_assets",
|
|
578
696
|
"aliases": set(),
|
|
579
697
|
"dataitemid": 1055,
|
|
580
698
|
"spgi_name": "Other Current Assets",
|
|
699
|
+
"description": "Miscellaneous current assets not classified elsewhere.",
|
|
581
700
|
},
|
|
582
701
|
{
|
|
583
702
|
"name": "total_current_assets",
|
|
@@ -588,6 +707,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
588
707
|
},
|
|
589
708
|
"dataitemid": 1008,
|
|
590
709
|
"spgi_name": "Total Current Assets",
|
|
710
|
+
"description": "Sum of all assets classified as current for the reporting date.",
|
|
591
711
|
},
|
|
592
712
|
{
|
|
593
713
|
"name": "gross_property_plant_and_equipment",
|
|
@@ -597,12 +717,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
597
717
|
},
|
|
598
718
|
"dataitemid": 1169,
|
|
599
719
|
"spgi_name": "Gross Property, Plant & Equipment",
|
|
720
|
+
"description": "Gross value of PP&E before accumulated depreciation.",
|
|
600
721
|
},
|
|
601
722
|
{
|
|
602
723
|
"name": "accumulated_depreciation",
|
|
603
724
|
"aliases": set(),
|
|
604
725
|
"dataitemid": 1075,
|
|
605
726
|
"spgi_name": "Accumulated Depreciation",
|
|
727
|
+
"description": "Cumulative depreciation recorded against property, plant, and equipment.",
|
|
606
728
|
},
|
|
607
729
|
{
|
|
608
730
|
"name": "net_property_plant_and_equipment",
|
|
@@ -614,6 +736,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
614
736
|
},
|
|
615
737
|
"dataitemid": 1004,
|
|
616
738
|
"spgi_name": "Net Property, Plant & Equipment",
|
|
739
|
+
"description": "Net property, plant, and equipment after accumulated depreciation.",
|
|
617
740
|
},
|
|
618
741
|
{
|
|
619
742
|
"name": "long_term_investments",
|
|
@@ -622,13 +745,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
622
745
|
},
|
|
623
746
|
"dataitemid": 1054,
|
|
624
747
|
"spgi_name": "Long-term Investments",
|
|
748
|
+
"description": "Non-current investments intended to be held longer than one year.",
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"name": "goodwill",
|
|
752
|
+
"aliases": set(),
|
|
753
|
+
"dataitemid": 1171,
|
|
754
|
+
"spgi_name": "Goodwill",
|
|
755
|
+
"description": "",
|
|
625
756
|
},
|
|
626
|
-
{"name": "goodwill", "aliases": set(), "dataitemid": 1171, "spgi_name": "Goodwill"},
|
|
627
757
|
{
|
|
628
758
|
"name": "other_intangibles",
|
|
629
759
|
"aliases": set(),
|
|
630
760
|
"dataitemid": 1040,
|
|
631
761
|
"spgi_name": "Other Intangibles",
|
|
762
|
+
"description": "Intangible assets other than goodwill (e.g., patents, trademarks).",
|
|
632
763
|
},
|
|
633
764
|
{
|
|
634
765
|
"name": "finance_division_loans_and_leases_long_term",
|
|
@@ -639,6 +770,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
639
770
|
},
|
|
640
771
|
"dataitemid": 1033,
|
|
641
772
|
"spgi_name": "Finance Div. Loans and Leases, LT",
|
|
773
|
+
"description": "",
|
|
642
774
|
},
|
|
643
775
|
{
|
|
644
776
|
"name": "finance_division_other_non_current_assets",
|
|
@@ -649,6 +781,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
649
781
|
},
|
|
650
782
|
"dataitemid": 1034,
|
|
651
783
|
"spgi_name": "Finance Div. Other LT Assets",
|
|
784
|
+
"description": "",
|
|
652
785
|
},
|
|
653
786
|
{
|
|
654
787
|
"name": "long_term_accounts_receivable",
|
|
@@ -657,6 +790,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
657
790
|
},
|
|
658
791
|
"dataitemid": 1088,
|
|
659
792
|
"spgi_name": "Accounts Receivable Long-Term",
|
|
793
|
+
"description": "",
|
|
660
794
|
},
|
|
661
795
|
{
|
|
662
796
|
"name": "long_term_loans_receivable",
|
|
@@ -666,6 +800,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
666
800
|
},
|
|
667
801
|
"dataitemid": 1050,
|
|
668
802
|
"spgi_name": "Loans Receivable Long-Term",
|
|
803
|
+
"description": "",
|
|
669
804
|
},
|
|
670
805
|
{
|
|
671
806
|
"name": "long_term_deferred_tax_assets",
|
|
@@ -674,6 +809,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
674
809
|
},
|
|
675
810
|
"dataitemid": 1026,
|
|
676
811
|
"spgi_name": "Deferred Tax Assets, LT",
|
|
812
|
+
"description": "",
|
|
677
813
|
},
|
|
678
814
|
{
|
|
679
815
|
"name": "long_term_deferred_charges",
|
|
@@ -682,6 +818,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
682
818
|
},
|
|
683
819
|
"dataitemid": 1025,
|
|
684
820
|
"spgi_name": "Deferred Charges, LT",
|
|
821
|
+
"description": "Deferred charges expected to provide benefits beyond one year.",
|
|
685
822
|
},
|
|
686
823
|
{
|
|
687
824
|
"name": "other_long_term_assets",
|
|
@@ -692,6 +829,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
692
829
|
},
|
|
693
830
|
"dataitemid": 1060,
|
|
694
831
|
"spgi_name": "Other Long-Term Assets",
|
|
832
|
+
"description": "",
|
|
695
833
|
},
|
|
696
834
|
{
|
|
697
835
|
"name": "total_assets",
|
|
@@ -700,18 +838,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
700
838
|
},
|
|
701
839
|
"dataitemid": 1007,
|
|
702
840
|
"spgi_name": "Total Assets",
|
|
841
|
+
"description": "",
|
|
703
842
|
},
|
|
704
843
|
{
|
|
705
844
|
"name": "accounts_payable",
|
|
706
845
|
"aliases": set(),
|
|
707
846
|
"dataitemid": 1018,
|
|
708
847
|
"spgi_name": "Accounts Payable",
|
|
848
|
+
"description": "",
|
|
709
849
|
},
|
|
710
850
|
{
|
|
711
851
|
"name": "accrued_expenses",
|
|
712
852
|
"aliases": set(),
|
|
713
853
|
"dataitemid": 1016,
|
|
714
854
|
"spgi_name": "Accrued Expenses",
|
|
855
|
+
"description": "Accrued expenses and other short-term liabilities awaiting payment.",
|
|
715
856
|
},
|
|
716
857
|
{
|
|
717
858
|
"name": "short_term_borrowings",
|
|
@@ -722,6 +863,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
722
863
|
},
|
|
723
864
|
"dataitemid": 1046,
|
|
724
865
|
"spgi_name": "Short-term Borrowings",
|
|
866
|
+
"description": "Borrowings that mature within twelve months of the reporting date.",
|
|
725
867
|
},
|
|
726
868
|
{
|
|
727
869
|
"name": "current_portion_of_long_term_debt",
|
|
@@ -731,6 +873,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
731
873
|
},
|
|
732
874
|
"dataitemid": 1297,
|
|
733
875
|
"spgi_name": "Current Portion of Long Term Debt",
|
|
876
|
+
"description": "Portion of long-term debt due within the next year.",
|
|
734
877
|
},
|
|
735
878
|
{
|
|
736
879
|
"name": "current_portion_of_capital_leases",
|
|
@@ -741,6 +884,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
741
884
|
},
|
|
742
885
|
"dataitemid": 1090,
|
|
743
886
|
"spgi_name": "Curr. Port. of Cap. Leases",
|
|
887
|
+
"description": "Short-term portion of capital lease obligations due within 12 months.",
|
|
744
888
|
},
|
|
745
889
|
{
|
|
746
890
|
"name": "current_portion_of_long_term_debt_and_capital_leases",
|
|
@@ -757,18 +901,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
757
901
|
},
|
|
758
902
|
"dataitemid": 1279,
|
|
759
903
|
"spgi_name": "Curr. Port. of LT Debt/Cap. Leases",
|
|
904
|
+
"description": "Combined current portion of long-term debt and capital leases.",
|
|
760
905
|
},
|
|
761
906
|
{
|
|
762
907
|
"name": "finance_division_debt_current_portion",
|
|
763
908
|
"aliases": set(),
|
|
764
909
|
"dataitemid": 1030,
|
|
765
910
|
"spgi_name": "Finance Div. Debt Current",
|
|
911
|
+
"description": "Current portion of debt held within the finance division.",
|
|
766
912
|
},
|
|
767
913
|
{
|
|
768
914
|
"name": "finance_division_other_current_liabilities",
|
|
769
915
|
"aliases": set(),
|
|
770
916
|
"dataitemid": 1031,
|
|
771
917
|
"spgi_name": "Finance Div. Other Curr. Liab.",
|
|
918
|
+
"description": "Other current liabilities associated with the finance division.",
|
|
772
919
|
},
|
|
773
920
|
{
|
|
774
921
|
"name": "current_income_taxes_payable",
|
|
@@ -777,6 +924,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
777
924
|
},
|
|
778
925
|
"dataitemid": 1094,
|
|
779
926
|
"spgi_name": "Curr. Income Taxes Payable",
|
|
927
|
+
"description": "Current portion of income taxes owed but not yet paid (balance sheet liability).",
|
|
780
928
|
},
|
|
781
929
|
{
|
|
782
930
|
"name": "current_unearned_revenue",
|
|
@@ -785,12 +933,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
785
933
|
},
|
|
786
934
|
"dataitemid": 1074,
|
|
787
935
|
"spgi_name": "Unearned Revenue, Current",
|
|
936
|
+
"description": "Unearned revenue expected to be recognized within one year.",
|
|
788
937
|
},
|
|
789
938
|
{
|
|
790
939
|
"name": "current_deferred_tax_liability",
|
|
791
940
|
"aliases": set(),
|
|
792
941
|
"dataitemid": 1119,
|
|
793
942
|
"spgi_name": "Def. Tax Liability, Curr.",
|
|
943
|
+
"description": "Deferred tax liabilities classified as current.",
|
|
794
944
|
},
|
|
795
945
|
{
|
|
796
946
|
"name": "other_current_liability",
|
|
@@ -799,6 +949,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
799
949
|
},
|
|
800
950
|
"dataitemid": 1057,
|
|
801
951
|
"spgi_name": "Other Current Liabilities",
|
|
952
|
+
"description": "Miscellaneous current liability category.",
|
|
802
953
|
},
|
|
803
954
|
{
|
|
804
955
|
"name": "total_current_liabilities",
|
|
@@ -807,6 +958,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
807
958
|
},
|
|
808
959
|
"dataitemid": 1009,
|
|
809
960
|
"spgi_name": "Total Current Liabilities",
|
|
961
|
+
"description": "Total balance of current liabilities reported.",
|
|
810
962
|
},
|
|
811
963
|
{
|
|
812
964
|
"name": "long_term_debt",
|
|
@@ -815,6 +967,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
815
967
|
},
|
|
816
968
|
"dataitemid": 1049,
|
|
817
969
|
"spgi_name": "Long-Term Debt",
|
|
970
|
+
"description": "Debt obligations with maturity dates beyond one year.",
|
|
818
971
|
},
|
|
819
972
|
{
|
|
820
973
|
"name": "capital_leases",
|
|
@@ -824,6 +977,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
824
977
|
},
|
|
825
978
|
"dataitemid": 1183,
|
|
826
979
|
"spgi_name": "Capital Leases",
|
|
980
|
+
"description": "Long-term obligations arising from capital lease arrangements.",
|
|
827
981
|
},
|
|
828
982
|
{
|
|
829
983
|
"name": "finance_division_debt_non_current_portion",
|
|
@@ -834,6 +988,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
834
988
|
},
|
|
835
989
|
"dataitemid": 1035,
|
|
836
990
|
"spgi_name": "Finance Div. Debt Non-Curr.",
|
|
991
|
+
"description": "Non-current portion of debt held within the finance division.",
|
|
837
992
|
},
|
|
838
993
|
{
|
|
839
994
|
"name": "finance_division_other_non_current_liabilities",
|
|
@@ -842,6 +997,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
842
997
|
},
|
|
843
998
|
"dataitemid": 1036,
|
|
844
999
|
"spgi_name": "Finance Div. Other Non-Curr. Liab.",
|
|
1000
|
+
"description": "Other non-current liabilities reported by the finance division.",
|
|
845
1001
|
},
|
|
846
1002
|
{
|
|
847
1003
|
"name": "non_current_unearned_revenue",
|
|
@@ -850,18 +1006,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
850
1006
|
},
|
|
851
1007
|
"dataitemid": 1256,
|
|
852
1008
|
"spgi_name": "Unearned Revenue, Non-Current",
|
|
1009
|
+
"description": "Revenue received in advance that will be recognized beyond one year.",
|
|
853
1010
|
},
|
|
854
1011
|
{
|
|
855
1012
|
"name": "pension_and_other_post_retirement_benefit",
|
|
856
1013
|
"aliases": set(),
|
|
857
1014
|
"dataitemid": 1213,
|
|
858
1015
|
"spgi_name": "Pension & Other Post-Retire. Benefits",
|
|
1016
|
+
"description": "Liabilities for pension and post-retirement benefit obligations.",
|
|
859
1017
|
},
|
|
860
1018
|
{
|
|
861
1019
|
"name": "non_current_deferred_tax_liability",
|
|
862
1020
|
"aliases": set(),
|
|
863
1021
|
"dataitemid": 1027,
|
|
864
1022
|
"spgi_name": "Def. Tax Liability, Non-Curr.",
|
|
1023
|
+
"description": "Deferred tax liabilities not expected to be settled within one year.",
|
|
865
1024
|
},
|
|
866
1025
|
{
|
|
867
1026
|
"name": "other_non_current_liabilities",
|
|
@@ -872,6 +1031,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
872
1031
|
},
|
|
873
1032
|
"dataitemid": 1062,
|
|
874
1033
|
"spgi_name": "Other Non-Current Liabilities",
|
|
1034
|
+
"description": "Miscellaneous non-current liability categories.",
|
|
875
1035
|
},
|
|
876
1036
|
{
|
|
877
1037
|
"name": "total_liabilities",
|
|
@@ -880,6 +1040,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
880
1040
|
},
|
|
881
1041
|
"dataitemid": 1276,
|
|
882
1042
|
"spgi_name": "Total Liabilities",
|
|
1043
|
+
"description": "Total liabilities including both current and non-current obligations.",
|
|
883
1044
|
},
|
|
884
1045
|
{
|
|
885
1046
|
"name": "preferred_stock_redeemable",
|
|
@@ -888,6 +1049,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
888
1049
|
},
|
|
889
1050
|
"dataitemid": 1217,
|
|
890
1051
|
"spgi_name": "Pref. Stock, Redeemable",
|
|
1052
|
+
"description": "Redeemable preferred stock outstanding.",
|
|
891
1053
|
},
|
|
892
1054
|
{
|
|
893
1055
|
"name": "preferred_stock_non_redeemable",
|
|
@@ -896,6 +1058,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
896
1058
|
},
|
|
897
1059
|
"dataitemid": 1216,
|
|
898
1060
|
"spgi_name": "Pref. Stock, Non-Redeem.",
|
|
1061
|
+
"description": "Non-redeemable preferred stock outstanding.",
|
|
899
1062
|
},
|
|
900
1063
|
{
|
|
901
1064
|
"name": "preferred_stock_convertible",
|
|
@@ -904,6 +1067,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
904
1067
|
},
|
|
905
1068
|
"dataitemid": 1214,
|
|
906
1069
|
"spgi_name": "Pref. Stock, Convertible",
|
|
1070
|
+
"description": "Preferred shares that can be converted into common stock.",
|
|
907
1071
|
},
|
|
908
1072
|
{
|
|
909
1073
|
"name": "preferred_stock_other",
|
|
@@ -912,6 +1076,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
912
1076
|
},
|
|
913
1077
|
"dataitemid": 1065,
|
|
914
1078
|
"spgi_name": "Pref. Stock, Other",
|
|
1079
|
+
"description": "Other preferred equity categories not classified elsewhere.",
|
|
915
1080
|
},
|
|
916
1081
|
{
|
|
917
1082
|
"name": "preferred_stock_additional_paid_in_capital",
|
|
@@ -920,6 +1085,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
920
1085
|
},
|
|
921
1086
|
"dataitemid": 1085,
|
|
922
1087
|
"spgi_name": "Additional Paid In Capital - Preferred Stock",
|
|
1088
|
+
"description": "Additional paid-in capital attributable to preferred stock.",
|
|
923
1089
|
},
|
|
924
1090
|
{
|
|
925
1091
|
"name": "preferred_stock_equity_adjustment",
|
|
@@ -928,6 +1094,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
928
1094
|
},
|
|
929
1095
|
"dataitemid": 1215,
|
|
930
1096
|
"spgi_name": "Equity Adjustment - Preferred Stock",
|
|
1097
|
+
"description": "Equity adjustment related to preferred stock balances.",
|
|
931
1098
|
},
|
|
932
1099
|
{
|
|
933
1100
|
"name": "treasury_stock_preferred_stock_convertible",
|
|
@@ -938,6 +1105,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
938
1105
|
},
|
|
939
1106
|
"dataitemid": 1249,
|
|
940
1107
|
"spgi_name": "Treasury Stock : Preferred Stock Convertible",
|
|
1108
|
+
"description": "",
|
|
941
1109
|
},
|
|
942
1110
|
{
|
|
943
1111
|
"name": "treasury_stock_preferred_stock_non_redeemable",
|
|
@@ -948,6 +1116,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
948
1116
|
},
|
|
949
1117
|
"dataitemid": 1250,
|
|
950
1118
|
"spgi_name": "Treasury Stock : Preferred Stock Non Redeemable",
|
|
1119
|
+
"description": "",
|
|
951
1120
|
},
|
|
952
1121
|
{
|
|
953
1122
|
"name": "treasury_stock_preferred_stock_redeemable",
|
|
@@ -958,6 +1127,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
958
1127
|
},
|
|
959
1128
|
"dataitemid": 1251,
|
|
960
1129
|
"spgi_name": "Treasury Stock : Preferred Stock Redeemable",
|
|
1130
|
+
"description": "Treasury shares held for redeemable preferred stock classes.",
|
|
961
1131
|
},
|
|
962
1132
|
{
|
|
963
1133
|
"name": "total_preferred_equity",
|
|
@@ -968,26 +1138,42 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
968
1138
|
},
|
|
969
1139
|
"dataitemid": 1005,
|
|
970
1140
|
"spgi_name": "Total Pref. Equity",
|
|
1141
|
+
"description": "Total preferred equity including all preferred share classes.",
|
|
1142
|
+
},
|
|
1143
|
+
{
|
|
1144
|
+
"name": "common_stock",
|
|
1145
|
+
"aliases": set(),
|
|
1146
|
+
"dataitemid": 1103,
|
|
1147
|
+
"spgi_name": "Common Stock",
|
|
1148
|
+
"description": "Par value of common stock issued and outstanding.",
|
|
971
1149
|
},
|
|
972
|
-
{"name": "common_stock", "aliases": set(), "dataitemid": 1103, "spgi_name": "Common Stock"},
|
|
973
1150
|
{
|
|
974
1151
|
"name": "additional_paid_in_capital",
|
|
975
1152
|
"aliases": set(),
|
|
976
1153
|
"dataitemid": 1084,
|
|
977
1154
|
"spgi_name": "Additional Paid In Capital",
|
|
1155
|
+
"description": "Capital paid by shareholders above par value for common stock.",
|
|
978
1156
|
},
|
|
979
1157
|
{
|
|
980
1158
|
"name": "retained_earnings",
|
|
981
1159
|
"aliases": set(),
|
|
982
1160
|
"dataitemid": 1222,
|
|
983
1161
|
"spgi_name": "Retained Earnings",
|
|
1162
|
+
"description": "Accumulated retained earnings available to common shareholders.",
|
|
1163
|
+
},
|
|
1164
|
+
{
|
|
1165
|
+
"name": "treasury_stock",
|
|
1166
|
+
"aliases": set(),
|
|
1167
|
+
"dataitemid": 1248,
|
|
1168
|
+
"spgi_name": "Treasury Stock",
|
|
1169
|
+
"description": "Cost of company shares repurchased and held in treasury.",
|
|
984
1170
|
},
|
|
985
|
-
{"name": "treasury_stock", "aliases": set(), "dataitemid": 1248, "spgi_name": "Treasury Stock"},
|
|
986
1171
|
{
|
|
987
1172
|
"name": "other_equity",
|
|
988
1173
|
"aliases": set(),
|
|
989
1174
|
"dataitemid": 1028,
|
|
990
1175
|
"spgi_name": "Comprehensive Inc. and Other",
|
|
1176
|
+
"description": "Other equity components not categorized elsewhere.",
|
|
991
1177
|
},
|
|
992
1178
|
{
|
|
993
1179
|
"name": "total_common_equity",
|
|
@@ -996,6 +1182,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
996
1182
|
},
|
|
997
1183
|
"dataitemid": 1006,
|
|
998
1184
|
"spgi_name": "Total Common Equity",
|
|
1185
|
+
"description": "Total equity attributable to common shareholders.",
|
|
999
1186
|
},
|
|
1000
1187
|
{
|
|
1001
1188
|
"name": "total_equity",
|
|
@@ -1006,6 +1193,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1006
1193
|
},
|
|
1007
1194
|
"dataitemid": 1275,
|
|
1008
1195
|
"spgi_name": "Total Equity",
|
|
1196
|
+
"description": "Total shareholders' equity including preferred and common components.",
|
|
1009
1197
|
},
|
|
1010
1198
|
{
|
|
1011
1199
|
"name": "total_liabilities_and_equity",
|
|
@@ -1014,60 +1202,70 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1014
1202
|
},
|
|
1015
1203
|
"dataitemid": 1013,
|
|
1016
1204
|
"spgi_name": "Total Liabilities And Equity",
|
|
1205
|
+
"description": "Total liabilities plus shareholders' equity to balance assets.",
|
|
1017
1206
|
},
|
|
1018
1207
|
{
|
|
1019
1208
|
"name": "common_shares_outstanding",
|
|
1020
1209
|
"aliases": set(),
|
|
1021
1210
|
"dataitemid": 1100,
|
|
1022
1211
|
"spgi_name": "Common Shares Outstanding",
|
|
1212
|
+
"description": "Weighted or period-end count of common shares outstanding.",
|
|
1023
1213
|
},
|
|
1024
1214
|
{
|
|
1025
1215
|
"name": "adjustments_to_cash_flow_net_income",
|
|
1026
1216
|
"aliases": set(),
|
|
1027
1217
|
"dataitemid": 21523,
|
|
1028
1218
|
"spgi_name": "Adjustments to Cash Flow Net Income",
|
|
1219
|
+
"description": "Adjustments reconciling net income to operating cash flow.",
|
|
1029
1220
|
},
|
|
1030
1221
|
{
|
|
1031
1222
|
"name": "other_amortization",
|
|
1032
1223
|
"aliases": set(),
|
|
1033
1224
|
"dataitemid": 2014,
|
|
1034
1225
|
"spgi_name": "Other Amortization",
|
|
1226
|
+
"description": "Amortization charges not captured in major categories.",
|
|
1035
1227
|
},
|
|
1036
1228
|
{
|
|
1037
1229
|
"name": "total_other_non_cash_items",
|
|
1038
1230
|
"aliases": set(),
|
|
1039
1231
|
"dataitemid": 2179,
|
|
1040
1232
|
"spgi_name": "Other Non-Cash Items, Total",
|
|
1233
|
+
"description": "Aggregate of non-cash items affecting operating cash flow.",
|
|
1041
1234
|
},
|
|
1042
1235
|
{
|
|
1043
1236
|
"name": "net_decrease_in_loans_originated_and_sold",
|
|
1044
1237
|
"aliases": set(),
|
|
1045
1238
|
"dataitemid": 2033,
|
|
1046
1239
|
"spgi_name": "Net (Increase)/Decrease in Loans Orig/Sold",
|
|
1240
|
+
"description": "Net decrease in loans originated and sold impacting cash flow.",
|
|
1047
1241
|
},
|
|
1048
1242
|
{
|
|
1049
1243
|
"name": "provision_for_credit_losses",
|
|
1050
1244
|
"aliases": set(),
|
|
1051
1245
|
"dataitemid": 2112,
|
|
1052
1246
|
"spgi_name": "Provision for Credit Losses",
|
|
1247
|
+
"description": "Provision recorded for credit losses within the period.",
|
|
1053
1248
|
},
|
|
1054
1249
|
{
|
|
1055
1250
|
"name": "loss_on_equity_investments",
|
|
1056
1251
|
"aliases": set(),
|
|
1057
1252
|
"dataitemid": 2086,
|
|
1058
1253
|
"spgi_name": "(Income) Loss on Equity Invest.",
|
|
1254
|
+
"description": "Loss recognized on equity method or other equity investments.",
|
|
1059
1255
|
},
|
|
1060
1256
|
{
|
|
1061
1257
|
"name": "stock_based_compensation",
|
|
1062
1258
|
"aliases": set(),
|
|
1063
1259
|
"dataitemid": 2127,
|
|
1064
1260
|
"spgi_name": "Stock-Based Compensation",
|
|
1261
|
+
"description": "Expense recognized for stock-based employee compensation.",
|
|
1065
1262
|
},
|
|
1066
1263
|
{
|
|
1067
1264
|
"name": "tax_benefit_from_stock_options",
|
|
1068
1265
|
"aliases": set(),
|
|
1069
1266
|
"dataitemid": 2135,
|
|
1070
1267
|
"spgi_name": "Tax Benefit from Stock Options",
|
|
1268
|
+
"description": "Tax benefit realized from employee stock option exercises.",
|
|
1071
1269
|
},
|
|
1072
1270
|
{
|
|
1073
1271
|
"name": "net_cash_from_discontinued_operation",
|
|
@@ -1076,66 +1274,77 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1076
1274
|
},
|
|
1077
1275
|
"dataitemid": 2081,
|
|
1078
1276
|
"spgi_name": "Net Cash From Discontinued Ops.",
|
|
1277
|
+
"description": "Net cash flow attributable to discontinued operations.",
|
|
1079
1278
|
},
|
|
1080
1279
|
{
|
|
1081
1280
|
"name": "other_operating_activities",
|
|
1082
1281
|
"aliases": set(),
|
|
1083
1282
|
"dataitemid": 2047,
|
|
1084
1283
|
"spgi_name": "Other Operating Activities",
|
|
1284
|
+
"description": "Other operating cash flow adjustments not listed elsewhere.",
|
|
1085
1285
|
},
|
|
1086
1286
|
{
|
|
1087
1287
|
"name": "change_in_trading_asset_securities",
|
|
1088
1288
|
"aliases": set(),
|
|
1089
1289
|
"dataitemid": 2134,
|
|
1090
1290
|
"spgi_name": "Change in Trad. Asset Securities",
|
|
1291
|
+
"description": "Cash impact from changes in trading asset securities.",
|
|
1091
1292
|
},
|
|
1092
1293
|
{
|
|
1093
1294
|
"name": "change_in_accounts_receivable",
|
|
1094
1295
|
"aliases": set(),
|
|
1095
1296
|
"dataitemid": 2018,
|
|
1096
1297
|
"spgi_name": "Change In Accounts Receivable",
|
|
1298
|
+
"description": "Operating cash flow impact from changes in accounts receivable.",
|
|
1097
1299
|
},
|
|
1098
1300
|
{
|
|
1099
1301
|
"name": "change_in_inventories",
|
|
1100
1302
|
"aliases": set(),
|
|
1101
1303
|
"dataitemid": 2099,
|
|
1102
1304
|
"spgi_name": "Change In Inventories",
|
|
1305
|
+
"description": "Change in inventory balances, typically from the cash flow statement.",
|
|
1103
1306
|
},
|
|
1104
1307
|
{
|
|
1105
1308
|
"name": "change_in_accounts_payable",
|
|
1106
1309
|
"aliases": set(),
|
|
1107
1310
|
"dataitemid": 2017,
|
|
1108
1311
|
"spgi_name": "Change in Acc. Payable",
|
|
1312
|
+
"description": "Operating cash flow impact from changes in accounts payable.",
|
|
1109
1313
|
},
|
|
1110
1314
|
{
|
|
1111
1315
|
"name": "change_in_unearned_revenue",
|
|
1112
1316
|
"aliases": set(),
|
|
1113
1317
|
"dataitemid": 2139,
|
|
1114
1318
|
"spgi_name": "Change in Unearned Rev.",
|
|
1319
|
+
"description": "Cash flow adjustment from changes in unearned revenue balances.",
|
|
1115
1320
|
},
|
|
1116
1321
|
{
|
|
1117
1322
|
"name": "change_in_income_taxes",
|
|
1118
1323
|
"aliases": set(),
|
|
1119
1324
|
"dataitemid": 2101,
|
|
1120
1325
|
"spgi_name": "Change in Inc. Taxes",
|
|
1326
|
+
"description": "Period-over-period change in income tax expense on the income statement.",
|
|
1121
1327
|
},
|
|
1122
1328
|
{
|
|
1123
1329
|
"name": "change_in_deferred_taxes",
|
|
1124
1330
|
"aliases": set(),
|
|
1125
1331
|
"dataitemid": 2084,
|
|
1126
1332
|
"spgi_name": "Change in Def. Taxes",
|
|
1333
|
+
"description": "Cash flow adjustment from changes in deferred tax balances.",
|
|
1127
1334
|
},
|
|
1128
1335
|
{
|
|
1129
1336
|
"name": "change_in_other_net_operating_assets",
|
|
1130
1337
|
"aliases": set(),
|
|
1131
1338
|
"dataitemid": 2045,
|
|
1132
1339
|
"spgi_name": "Change in Other Net Operating Assets",
|
|
1340
|
+
"description": "Change in other net operating assets affecting cash flow.",
|
|
1133
1341
|
},
|
|
1134
1342
|
{
|
|
1135
1343
|
"name": "change_in_net_operating_assets",
|
|
1136
1344
|
"aliases": set(),
|
|
1137
1345
|
"dataitemid": 2010,
|
|
1138
1346
|
"spgi_name": "Change in Net Operating Assets ",
|
|
1347
|
+
"description": "Aggregate change in net operating assets during the period.",
|
|
1139
1348
|
},
|
|
1140
1349
|
{
|
|
1141
1350
|
"name": "cash_from_operations",
|
|
@@ -1145,6 +1354,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1145
1354
|
},
|
|
1146
1355
|
"dataitemid": 2006,
|
|
1147
1356
|
"spgi_name": "Cash from Ops.",
|
|
1357
|
+
"description": "Operating cash flow generated during the reporting period.",
|
|
1148
1358
|
},
|
|
1149
1359
|
{
|
|
1150
1360
|
"name": "capital_expenditure",
|
|
@@ -1154,6 +1364,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1154
1364
|
},
|
|
1155
1365
|
"dataitemid": 2021,
|
|
1156
1366
|
"spgi_name": "Capital Expenditure",
|
|
1367
|
+
"description": "Cash outflows for capital expenditures during the period.",
|
|
1157
1368
|
},
|
|
1158
1369
|
{
|
|
1159
1370
|
"name": "sale_of_property_plant_and_equipment",
|
|
@@ -1162,14 +1373,22 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1162
1373
|
},
|
|
1163
1374
|
"dataitemid": 2042,
|
|
1164
1375
|
"spgi_name": "Sale of Property, Plant, and Equipment",
|
|
1376
|
+
"description": "Cash inflows from selling property, plant, and equipment.",
|
|
1165
1377
|
},
|
|
1166
1378
|
{
|
|
1167
1379
|
"name": "cash_acquisitions",
|
|
1168
1380
|
"aliases": set(),
|
|
1169
1381
|
"dataitemid": 2057,
|
|
1170
1382
|
"spgi_name": "Cash Acquisitions",
|
|
1383
|
+
"description": "Cash paid for acquisitions of businesses or assets.",
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
"name": "divestitures",
|
|
1387
|
+
"aliases": set(),
|
|
1388
|
+
"dataitemid": 2077,
|
|
1389
|
+
"spgi_name": "Divestitures",
|
|
1390
|
+
"description": "Cash proceeds or impact from divested businesses or assets (distinct from sale_of_real_estate).",
|
|
1171
1391
|
},
|
|
1172
|
-
{"name": "divestitures", "aliases": set(), "dataitemid": 2077, "spgi_name": "Divestitures"},
|
|
1173
1392
|
{
|
|
1174
1393
|
"name": "sale_of_real_estate",
|
|
1175
1394
|
"aliases": {
|
|
@@ -1178,6 +1397,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1178
1397
|
},
|
|
1179
1398
|
"dataitemid": 2040,
|
|
1180
1399
|
"spgi_name": "Sale (Purchase) of Real Estate properties",
|
|
1400
|
+
"description": "Proceeds from real estate sales (distinct from broader divestitures).",
|
|
1181
1401
|
},
|
|
1182
1402
|
{
|
|
1183
1403
|
"name": "sale_of_intangible_assets",
|
|
@@ -1187,30 +1407,35 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1187
1407
|
},
|
|
1188
1408
|
"dataitemid": 2029,
|
|
1189
1409
|
"spgi_name": "Sale (Purchase) of Intangible assets",
|
|
1410
|
+
"description": "Cash received from selling intangible assets.",
|
|
1190
1411
|
},
|
|
1191
1412
|
{
|
|
1192
1413
|
"name": "net_cash_from_investments",
|
|
1193
1414
|
"aliases": set(),
|
|
1194
1415
|
"dataitemid": 2027,
|
|
1195
1416
|
"spgi_name": "Net Cash from Investments",
|
|
1417
|
+
"description": "Net cash flow provided by investing activities overall.",
|
|
1196
1418
|
},
|
|
1197
1419
|
{
|
|
1198
1420
|
"name": "net_decrease_in_investment_loans_originated_and_sold",
|
|
1199
1421
|
"aliases": set(),
|
|
1200
1422
|
"dataitemid": 2032,
|
|
1201
1423
|
"spgi_name": "Net (Increase)/Decrease in Loans Orig/Sold",
|
|
1424
|
+
"description": "Net decrease in investment loans originated and sold.",
|
|
1202
1425
|
},
|
|
1203
1426
|
{
|
|
1204
1427
|
"name": "other_investing_activities",
|
|
1205
1428
|
"aliases": set(),
|
|
1206
1429
|
"dataitemid": 2051,
|
|
1207
1430
|
"spgi_name": "Other Investing Activities",
|
|
1431
|
+
"description": "Miscellaneous investing cash flow activities.",
|
|
1208
1432
|
},
|
|
1209
1433
|
{
|
|
1210
1434
|
"name": "total_other_investing_activities",
|
|
1211
1435
|
"aliases": set(),
|
|
1212
1436
|
"dataitemid": 2177,
|
|
1213
1437
|
"spgi_name": "Other Investing Activities, Total",
|
|
1438
|
+
"description": "Aggregate of other investing cash flow activities.",
|
|
1214
1439
|
},
|
|
1215
1440
|
{
|
|
1216
1441
|
"name": "cash_from_investing",
|
|
@@ -1221,6 +1446,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1221
1446
|
},
|
|
1222
1447
|
"dataitemid": 2005,
|
|
1223
1448
|
"spgi_name": "Cash from Investing",
|
|
1449
|
+
"description": "Cash provided by investing activities.",
|
|
1224
1450
|
},
|
|
1225
1451
|
{
|
|
1226
1452
|
"name": "short_term_debt_issued",
|
|
@@ -1229,6 +1455,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1229
1455
|
},
|
|
1230
1456
|
"dataitemid": 2043,
|
|
1231
1457
|
"spgi_name": "Short Term Debt Issued",
|
|
1458
|
+
"description": "Cash inflows from issuing short-term debt.",
|
|
1232
1459
|
},
|
|
1233
1460
|
{
|
|
1234
1461
|
"name": "long_term_debt_issued",
|
|
@@ -1237,12 +1464,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1237
1464
|
},
|
|
1238
1465
|
"dataitemid": 2034,
|
|
1239
1466
|
"spgi_name": "Long-Term Debt Issued",
|
|
1467
|
+
"description": "Cash inflows from issuing long-term debt.",
|
|
1240
1468
|
},
|
|
1241
1469
|
{
|
|
1242
1470
|
"name": "total_debt_issued",
|
|
1243
1471
|
"aliases": set(),
|
|
1244
1472
|
"dataitemid": 2161,
|
|
1245
1473
|
"spgi_name": "Total Debt Issued",
|
|
1474
|
+
"description": "Aggregate debt issuance during the period.",
|
|
1246
1475
|
},
|
|
1247
1476
|
{
|
|
1248
1477
|
"name": "short_term_debt_repaid",
|
|
@@ -1251,6 +1480,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1251
1480
|
},
|
|
1252
1481
|
"dataitemid": 2044,
|
|
1253
1482
|
"spgi_name": "Short Term Debt Repaid",
|
|
1483
|
+
"description": "Cash outflows from repaying short-term debt.",
|
|
1254
1484
|
},
|
|
1255
1485
|
{
|
|
1256
1486
|
"name": "long_term_debt_repaid",
|
|
@@ -1259,48 +1489,56 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1259
1489
|
},
|
|
1260
1490
|
"dataitemid": 2036,
|
|
1261
1491
|
"spgi_name": "Long-Term Debt Repaid",
|
|
1492
|
+
"description": "Cash outflows from repaying long-term debt.",
|
|
1262
1493
|
},
|
|
1263
1494
|
{
|
|
1264
1495
|
"name": "total_debt_repaid",
|
|
1265
1496
|
"aliases": set(),
|
|
1266
1497
|
"dataitemid": 2166,
|
|
1267
1498
|
"spgi_name": "Total Debt Repaid",
|
|
1499
|
+
"description": "Aggregate debt repayments during the period.",
|
|
1268
1500
|
},
|
|
1269
1501
|
{
|
|
1270
1502
|
"name": "issuance_of_common_stock",
|
|
1271
1503
|
"aliases": set(),
|
|
1272
1504
|
"dataitemid": 2169,
|
|
1273
1505
|
"spgi_name": "Issuance of Common Stock",
|
|
1506
|
+
"description": "Cash inflows from issuing common stock.",
|
|
1274
1507
|
},
|
|
1275
1508
|
{
|
|
1276
1509
|
"name": "repurchase_of_common_stock",
|
|
1277
1510
|
"aliases": set(),
|
|
1278
1511
|
"dataitemid": 2164,
|
|
1279
1512
|
"spgi_name": "Repurchase of Common Stock",
|
|
1513
|
+
"description": "Cash outflows for repurchasing common stock.",
|
|
1280
1514
|
},
|
|
1281
1515
|
{
|
|
1282
1516
|
"name": "issuance_of_preferred_stock",
|
|
1283
1517
|
"aliases": set(),
|
|
1284
1518
|
"dataitemid": 2181,
|
|
1285
1519
|
"spgi_name": "Issuance of Preferred Stock",
|
|
1520
|
+
"description": "Cash inflows from issuing preferred stock.",
|
|
1286
1521
|
},
|
|
1287
1522
|
{
|
|
1288
1523
|
"name": "repurchase_of_preferred_stock",
|
|
1289
1524
|
"aliases": set(),
|
|
1290
1525
|
"dataitemid": 2172,
|
|
1291
1526
|
"spgi_name": "Repurchase of Preferred Stock",
|
|
1527
|
+
"description": "Cash outflows for repurchasing preferred stock.",
|
|
1292
1528
|
},
|
|
1293
1529
|
{
|
|
1294
1530
|
"name": "common_dividends_paid",
|
|
1295
1531
|
"aliases": set(),
|
|
1296
1532
|
"dataitemid": 2074,
|
|
1297
1533
|
"spgi_name": "Common Dividends Paid",
|
|
1534
|
+
"description": "Cash dividends paid to common shareholders.",
|
|
1298
1535
|
},
|
|
1299
1536
|
{
|
|
1300
1537
|
"name": "preferred_dividends_paid",
|
|
1301
1538
|
"aliases": set(),
|
|
1302
1539
|
"dataitemid": 2116,
|
|
1303
1540
|
"spgi_name": "Pref. Dividends Paid",
|
|
1541
|
+
"description": "Dividends paid to preferred shareholders.",
|
|
1304
1542
|
},
|
|
1305
1543
|
{
|
|
1306
1544
|
"name": "total_dividends_paid",
|
|
@@ -1309,18 +1547,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1309
1547
|
},
|
|
1310
1548
|
"dataitemid": 2022,
|
|
1311
1549
|
"spgi_name": "Total Dividends Paid",
|
|
1550
|
+
"description": "Total dividends paid during the period.",
|
|
1312
1551
|
},
|
|
1313
1552
|
{
|
|
1314
1553
|
"name": "special_dividends_paid",
|
|
1315
1554
|
"aliases": set(),
|
|
1316
1555
|
"dataitemid": 2041,
|
|
1317
1556
|
"spgi_name": "Special Dividend Paid",
|
|
1557
|
+
"description": "Cash outflows for special or one-time dividends.",
|
|
1318
1558
|
},
|
|
1319
1559
|
{
|
|
1320
1560
|
"name": "other_financing_activities",
|
|
1321
1561
|
"aliases": set(),
|
|
1322
1562
|
"dataitemid": 2050,
|
|
1323
1563
|
"spgi_name": "Other Financing Activities",
|
|
1564
|
+
"description": "Miscellaneous financing cash flow activities.",
|
|
1324
1565
|
},
|
|
1325
1566
|
{
|
|
1326
1567
|
"name": "cash_from_financing",
|
|
@@ -1331,6 +1572,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1331
1572
|
},
|
|
1332
1573
|
"dataitemid": 2004,
|
|
1333
1574
|
"spgi_name": "Cash from Financing",
|
|
1575
|
+
"description": "Cash provided by financing activities.",
|
|
1334
1576
|
},
|
|
1335
1577
|
{
|
|
1336
1578
|
"name": "foreign_exchange_rate_adjustments",
|
|
@@ -1340,6 +1582,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1340
1582
|
},
|
|
1341
1583
|
"dataitemid": 2144,
|
|
1342
1584
|
"spgi_name": "Foreign Exchange Rate Adj.",
|
|
1585
|
+
"description": "Adjustments from changes in foreign exchange rates.",
|
|
1343
1586
|
},
|
|
1344
1587
|
{
|
|
1345
1588
|
"name": "miscellaneous_cash_flow_adjustments",
|
|
@@ -1348,6 +1591,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1348
1591
|
},
|
|
1349
1592
|
"dataitemid": 2149,
|
|
1350
1593
|
"spgi_name": "Misc. Cash Flow Adj.",
|
|
1594
|
+
"description": "Miscellaneous adjustments affecting total cash flow.",
|
|
1351
1595
|
},
|
|
1352
1596
|
{
|
|
1353
1597
|
"name": "net_change_in_cash",
|
|
@@ -1356,24 +1600,28 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1356
1600
|
},
|
|
1357
1601
|
"dataitemid": 2093,
|
|
1358
1602
|
"spgi_name": "Net Change in Cash",
|
|
1603
|
+
"description": "Net change in cash during the reporting period.",
|
|
1359
1604
|
},
|
|
1360
1605
|
{
|
|
1361
1606
|
"name": "depreciation",
|
|
1362
1607
|
"aliases": set(),
|
|
1363
1608
|
"dataitemid": 2143,
|
|
1364
1609
|
"spgi_name": "Depreciation (From Notes)",
|
|
1610
|
+
"description": "Depreciation expense recognized during the period.",
|
|
1365
1611
|
},
|
|
1366
1612
|
{
|
|
1367
1613
|
"name": "depreciation_of_rental_assets",
|
|
1368
1614
|
"aliases": set(),
|
|
1369
1615
|
"dataitemid": 42409,
|
|
1370
1616
|
"spgi_name": "Depreciation of Rental Assets",
|
|
1617
|
+
"description": "Depreciation charge specific to rental assets.",
|
|
1371
1618
|
},
|
|
1372
1619
|
{
|
|
1373
1620
|
"name": "sale_proceeds_from_rental_assets",
|
|
1374
1621
|
"aliases": set(),
|
|
1375
1622
|
"dataitemid": 42411,
|
|
1376
1623
|
"spgi_name": "Sale Proceeds from Rental Assets",
|
|
1624
|
+
"description": "Cash inflows from selling rental assets.",
|
|
1377
1625
|
},
|
|
1378
1626
|
{
|
|
1379
1627
|
"name": "basic_eps",
|
|
@@ -1384,6 +1632,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1384
1632
|
},
|
|
1385
1633
|
"dataitemid": 9,
|
|
1386
1634
|
"spgi_name": "Basic EPS",
|
|
1635
|
+
"description": "Basic earnings per share; use sparingly when explicitly requested.",
|
|
1387
1636
|
},
|
|
1388
1637
|
{
|
|
1389
1638
|
"name": "basic_eps_excluding_extra_items",
|
|
@@ -1392,6 +1641,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1392
1641
|
},
|
|
1393
1642
|
"dataitemid": 3064,
|
|
1394
1643
|
"spgi_name": "Basic EPS Excl. Extra Items",
|
|
1644
|
+
"description": "Basic EPS calculated excluding extraordinary items.",
|
|
1395
1645
|
},
|
|
1396
1646
|
{
|
|
1397
1647
|
"name": "basic_eps_from_accounting_change",
|
|
@@ -1400,6 +1650,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1400
1650
|
},
|
|
1401
1651
|
"dataitemid": 145,
|
|
1402
1652
|
"spgi_name": "Basic EPS - Accounting Change",
|
|
1653
|
+
"description": "",
|
|
1403
1654
|
},
|
|
1404
1655
|
{
|
|
1405
1656
|
"name": "basic_eps_from_extraordinary_items",
|
|
@@ -1408,6 +1659,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1408
1659
|
},
|
|
1409
1660
|
"dataitemid": 146,
|
|
1410
1661
|
"spgi_name": "Basic EPS - Extraordinary Items",
|
|
1662
|
+
"description": "Basic EPS attributable solely to extraordinary items.",
|
|
1411
1663
|
},
|
|
1412
1664
|
{
|
|
1413
1665
|
"name": "basic_eps_from_accounting_change_and_extraordinary_items",
|
|
@@ -1416,12 +1668,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1416
1668
|
},
|
|
1417
1669
|
"dataitemid": 45,
|
|
1418
1670
|
"spgi_name": "Basic EPS - Extraordinary Items & Accounting Change",
|
|
1671
|
+
"description": "Basic EPS from accounting changes and extraordinary items combined.",
|
|
1419
1672
|
},
|
|
1420
1673
|
{
|
|
1421
1674
|
"name": "weighted_average_basic_shares_outstanding",
|
|
1422
1675
|
"aliases": set(),
|
|
1423
1676
|
"dataitemid": 3217,
|
|
1424
1677
|
"spgi_name": "Weighted Avg. Basic Shares Out.",
|
|
1678
|
+
"description": "Weighted average basic shares used in EPS calculations.",
|
|
1425
1679
|
},
|
|
1426
1680
|
{
|
|
1427
1681
|
"name": "diluted_eps",
|
|
@@ -1432,6 +1686,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1432
1686
|
},
|
|
1433
1687
|
"dataitemid": 8,
|
|
1434
1688
|
"spgi_name": "Diluted EPS",
|
|
1689
|
+
"description": "Diluted earnings per share measure.",
|
|
1435
1690
|
},
|
|
1436
1691
|
{
|
|
1437
1692
|
"name": "diluted_eps_excluding_extra_items",
|
|
@@ -1440,12 +1695,14 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1440
1695
|
},
|
|
1441
1696
|
"dataitemid": 142,
|
|
1442
1697
|
"spgi_name": "Diluted EPS Excl. Extra Items",
|
|
1698
|
+
"description": "Diluted EPS calculated excluding extraordinary items.",
|
|
1443
1699
|
},
|
|
1444
1700
|
{
|
|
1445
1701
|
"name": "weighted_average_diluted_shares_outstanding",
|
|
1446
1702
|
"aliases": set(),
|
|
1447
1703
|
"dataitemid": 342,
|
|
1448
1704
|
"spgi_name": "Weighted Avg. Diluted Shares Out.",
|
|
1705
|
+
"description": "Weighted average diluted shares used in EPS calculations.",
|
|
1449
1706
|
},
|
|
1450
1707
|
{
|
|
1451
1708
|
"name": "normalized_basic_eps",
|
|
@@ -1454,6 +1711,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1454
1711
|
},
|
|
1455
1712
|
"dataitemid": 4379,
|
|
1456
1713
|
"spgi_name": "Normalized Basic EPS",
|
|
1714
|
+
"description": "Normalized basic earnings per share metric.",
|
|
1457
1715
|
},
|
|
1458
1716
|
{
|
|
1459
1717
|
"name": "normalized_diluted_eps",
|
|
@@ -1462,18 +1720,21 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1462
1720
|
},
|
|
1463
1721
|
"dataitemid": 4380,
|
|
1464
1722
|
"spgi_name": "Normalized Diluted EPS",
|
|
1723
|
+
"description": "Normalized diluted earnings per share metric.",
|
|
1465
1724
|
},
|
|
1466
1725
|
{
|
|
1467
1726
|
"name": "dividends_per_share",
|
|
1468
1727
|
"aliases": set(),
|
|
1469
1728
|
"dataitemid": 3058,
|
|
1470
1729
|
"spgi_name": "Dividends per share",
|
|
1730
|
+
"description": "Cash dividends declared per share.",
|
|
1471
1731
|
},
|
|
1472
1732
|
{
|
|
1473
1733
|
"name": "distributable_cash_per_share",
|
|
1474
1734
|
"aliases": set(),
|
|
1475
1735
|
"dataitemid": 23317,
|
|
1476
1736
|
"spgi_name": "Distributable Cash per Share",
|
|
1737
|
+
"description": "Distributable cash available per share.",
|
|
1477
1738
|
},
|
|
1478
1739
|
{
|
|
1479
1740
|
"name": "diluted_eps_from_accounting_change_and_extraordinary_items",
|
|
@@ -1482,6 +1743,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1482
1743
|
},
|
|
1483
1744
|
"dataitemid": 44,
|
|
1484
1745
|
"spgi_name": "Diluted EPS - Extraordinary Items & Accounting Change",
|
|
1746
|
+
"description": "Diluted EPS attributable to accounting changes and extraordinary items.",
|
|
1485
1747
|
},
|
|
1486
1748
|
{
|
|
1487
1749
|
"name": "diluted_eps_from_accounting_change",
|
|
@@ -1490,6 +1752,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1490
1752
|
},
|
|
1491
1753
|
"dataitemid": 141,
|
|
1492
1754
|
"spgi_name": "Diluted EPS - Accounting Change",
|
|
1755
|
+
"description": "Diluted EPS impact from accounting changes.",
|
|
1493
1756
|
},
|
|
1494
1757
|
{
|
|
1495
1758
|
"name": "diluted_eps_from_extraordinary_items",
|
|
@@ -1498,6 +1761,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1498
1761
|
},
|
|
1499
1762
|
"dataitemid": 144,
|
|
1500
1763
|
"spgi_name": "Diluted EPS - Extraordinary Items",
|
|
1764
|
+
"description": "Diluted EPS attributable to extraordinary items.",
|
|
1501
1765
|
},
|
|
1502
1766
|
{
|
|
1503
1767
|
"name": "diluted_eps_from_discontinued_operations",
|
|
@@ -1506,6 +1770,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1506
1770
|
},
|
|
1507
1771
|
"dataitemid": 143,
|
|
1508
1772
|
"spgi_name": "Diluted EPS - Discontinued Operations",
|
|
1773
|
+
"description": "Diluted EPS attributable to discontinued operations.",
|
|
1509
1774
|
},
|
|
1510
1775
|
{
|
|
1511
1776
|
"name": "funds_from_operations",
|
|
@@ -1514,6 +1779,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1514
1779
|
},
|
|
1515
1780
|
"dataitemid": 3074,
|
|
1516
1781
|
"spgi_name": "FFO",
|
|
1782
|
+
"description": "Funds from operations metric (often for REITs).",
|
|
1517
1783
|
},
|
|
1518
1784
|
{
|
|
1519
1785
|
"name": "ebitda",
|
|
@@ -1522,6 +1788,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1522
1788
|
},
|
|
1523
1789
|
"dataitemid": 4051,
|
|
1524
1790
|
"spgi_name": "EBITDA",
|
|
1791
|
+
"description": "Earnings before interest, taxes, depreciation, and amortization.",
|
|
1525
1792
|
},
|
|
1526
1793
|
{
|
|
1527
1794
|
"name": "ebita",
|
|
@@ -1530,6 +1797,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1530
1797
|
},
|
|
1531
1798
|
"dataitemid": 100689,
|
|
1532
1799
|
"spgi_name": "EBITA",
|
|
1800
|
+
"description": "Earnings before interest, taxes, and amortization.",
|
|
1533
1801
|
},
|
|
1534
1802
|
{
|
|
1535
1803
|
"name": "ebit",
|
|
@@ -1538,6 +1806,7 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1538
1806
|
},
|
|
1539
1807
|
"dataitemid": 400,
|
|
1540
1808
|
"spgi_name": "EBIT",
|
|
1809
|
+
"description": "Earnings before interest and taxes.",
|
|
1541
1810
|
},
|
|
1542
1811
|
{
|
|
1543
1812
|
"name": "ebitdar",
|
|
@@ -1546,8 +1815,15 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1546
1815
|
},
|
|
1547
1816
|
"dataitemid": 21674,
|
|
1548
1817
|
"spgi_name": "EBITDAR",
|
|
1818
|
+
"description": "Earnings before interest, taxes, depreciation, amortization, and rent.",
|
|
1819
|
+
},
|
|
1820
|
+
{
|
|
1821
|
+
"name": "net_debt",
|
|
1822
|
+
"aliases": set(),
|
|
1823
|
+
"dataitemid": 4364,
|
|
1824
|
+
"spgi_name": "Net Debt",
|
|
1825
|
+
"description": "Net debt calculated as total debt minus cash and cash equivalents.",
|
|
1549
1826
|
},
|
|
1550
|
-
{"name": "net_debt", "aliases": set(), "dataitemid": 4364, "spgi_name": "Net Debt"},
|
|
1551
1827
|
{
|
|
1552
1828
|
"name": "effective_tax_rate",
|
|
1553
1829
|
"aliases": {
|
|
@@ -1555,38 +1831,56 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1555
1831
|
},
|
|
1556
1832
|
"dataitemid": 4376,
|
|
1557
1833
|
"spgi_name": "Effective Tax Rate %",
|
|
1834
|
+
"description": "Effective tax rate metric for the period.",
|
|
1835
|
+
},
|
|
1836
|
+
{
|
|
1837
|
+
"name": "current_ratio",
|
|
1838
|
+
"aliases": set(),
|
|
1839
|
+
"dataitemid": 4030,
|
|
1840
|
+
"spgi_name": "Current Ratio",
|
|
1841
|
+
"description": "Current assets divided by current liabilities.",
|
|
1842
|
+
},
|
|
1843
|
+
{
|
|
1844
|
+
"name": "quick_ratio",
|
|
1845
|
+
"aliases": set(),
|
|
1846
|
+
"dataitemid": 4121,
|
|
1847
|
+
"spgi_name": "Quick Ratio",
|
|
1848
|
+
"description": "Quick assets divided by current liabilities.",
|
|
1558
1849
|
},
|
|
1559
|
-
{"name": "current_ratio", "aliases": set(), "dataitemid": 4030, "spgi_name": "Current Ratio"},
|
|
1560
|
-
{"name": "quick_ratio", "aliases": set(), "dataitemid": 4121, "spgi_name": "Quick Ratio"},
|
|
1561
1850
|
{
|
|
1562
1851
|
"name": "total_debt_to_capital",
|
|
1563
1852
|
"aliases": set(),
|
|
1564
1853
|
"dataitemid": 43907,
|
|
1565
1854
|
"spgi_name": "Total Debt to Capital (%)",
|
|
1855
|
+
"description": "Total debt divided by total capital (debt plus equity).",
|
|
1566
1856
|
},
|
|
1567
1857
|
{
|
|
1568
1858
|
"name": "net_working_capital",
|
|
1569
1859
|
"aliases": set(),
|
|
1570
1860
|
"dataitemid": 1311,
|
|
1571
1861
|
"spgi_name": "Net Working Capital",
|
|
1862
|
+
"description": "Net working capital (current assets minus current liabilities).",
|
|
1572
1863
|
},
|
|
1573
1864
|
{
|
|
1574
1865
|
"name": "working_capital",
|
|
1575
1866
|
"aliases": set(),
|
|
1576
1867
|
"dataitemid": 4165,
|
|
1577
1868
|
"spgi_name": "Working Capital",
|
|
1869
|
+
"description": "Alternate label for net working capital.",
|
|
1578
1870
|
},
|
|
1579
1871
|
{
|
|
1580
1872
|
"name": "change_in_net_working_capital",
|
|
1581
1873
|
"aliases": set(),
|
|
1582
1874
|
"dataitemid": 4421,
|
|
1583
1875
|
"spgi_name": "Change In Net Working Capital",
|
|
1876
|
+
"description": "Change in net working capital over the period.",
|
|
1584
1877
|
},
|
|
1585
1878
|
{
|
|
1586
1879
|
"name": "total_debt",
|
|
1587
1880
|
"aliases": set(),
|
|
1588
1881
|
"dataitemid": 4173,
|
|
1589
1882
|
"spgi_name": "Total Debt",
|
|
1883
|
+
"description": "Total debt outstanding.",
|
|
1590
1884
|
},
|
|
1591
1885
|
{
|
|
1592
1886
|
"name": "total_debt_to_equity_ratio",
|
|
@@ -1598,8 +1892,31 @@ LINE_ITEMS: list[LineItemType] = [
|
|
|
1598
1892
|
},
|
|
1599
1893
|
"dataitemid": 4034,
|
|
1600
1894
|
"spgi_name": "Total Debt/Equity",
|
|
1895
|
+
"description": "Total debt divided by total equity.",
|
|
1601
1896
|
},
|
|
1602
1897
|
]
|
|
1603
1898
|
LINE_ITEM_NAMES_AND_ALIASES: list[str] = list(
|
|
1604
1899
|
chain(*[[line_item["name"]] + list(line_item["aliases"]) for line_item in LINE_ITEMS])
|
|
1605
1900
|
)
|
|
1901
|
+
|
|
1902
|
+
|
|
1903
|
+
def _get_line_item_to_descriptions_map() -> dict[str, str]:
|
|
1904
|
+
"""Build line item to descriptions mapping from LINE_ITEMS data structure."""
|
|
1905
|
+
descriptors = {}
|
|
1906
|
+
|
|
1907
|
+
for item in LINE_ITEMS:
|
|
1908
|
+
name = item["name"]
|
|
1909
|
+
description = item.get("description", "")
|
|
1910
|
+
if description: # Only include items with descriptions
|
|
1911
|
+
descriptors[name] = description
|
|
1912
|
+
|
|
1913
|
+
# Also include aliases with the same description
|
|
1914
|
+
for alias in item["aliases"]:
|
|
1915
|
+
if description:
|
|
1916
|
+
descriptors[alias] = description
|
|
1917
|
+
|
|
1918
|
+
return descriptors
|
|
1919
|
+
|
|
1920
|
+
|
|
1921
|
+
# Pre-computed constant to avoid recreating on each validation error
|
|
1922
|
+
LINE_ITEM_TO_DESCRIPTIONS_MAP: dict[str, str] = _get_line_item_to_descriptions_map()
|