Skip to main content

finance_query/models/corporate/
governance.rs

1//! Corporate governance models: executive compensation and employee headcount.
2//!
3//! Served through the [`Capability::CORPORATE`](crate::Capability::CORPORATE)
4//! route. Both are derived from the company's own SEC filings (DEF 14A proxy
5//! statements and 10-K/10-Q cover pages respectively), so figures are annual
6//! and lag the filing date. EDGAR serves employee counts filed under the
7//! voluntary `dei:EntityNumberOfEmployees` tag, which most filers don't use;
8//! FMP remains the more complete source.
9
10use serde::{Deserialize, Serialize};
11
12/// One executive's reported compensation for one fiscal year.
13#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14#[non_exhaustive]
15pub struct ExecutiveCompensation {
16    /// Ticker symbol.
17    pub symbol: Option<String>,
18    /// SEC Central Index Key of the filer.
19    pub cik: Option<String>,
20    /// Company name as filed.
21    pub company_name: Option<String>,
22    /// Executive name and position, as a single filed string.
23    pub name_and_position: Option<String>,
24    /// Fiscal year the compensation covers.
25    pub year: Option<i32>,
26    /// Base salary.
27    pub salary: Option<f64>,
28    /// Cash bonus.
29    pub bonus: Option<f64>,
30    /// Value of stock awards.
31    pub stock_award: Option<f64>,
32    /// Value of option awards.
33    pub option_award: Option<f64>,
34    /// Non-equity incentive plan compensation.
35    pub incentive_plan_compensation: Option<f64>,
36    /// All other compensation.
37    pub other_compensation: Option<f64>,
38    /// Total compensation.
39    pub total: Option<f64>,
40    /// Filing date of the source document (`YYYY-MM-DD`).
41    pub filing_date: Option<String>,
42    /// URL of the source filing.
43    pub url: Option<String>,
44}
45
46/// Employee headcount as reported on one filing.
47#[derive(Debug, Clone, Default, Serialize, Deserialize)]
48#[non_exhaustive]
49pub struct EmployeeCount {
50    /// Ticker symbol.
51    pub symbol: Option<String>,
52    /// SEC Central Index Key of the filer.
53    pub cik: Option<String>,
54    /// Company name as filed.
55    pub company_name: Option<String>,
56    /// Number of employees reported.
57    pub employee_count: Option<i64>,
58    /// Period the count is as of (`YYYY-MM-DD`).
59    pub period_of_report: Option<String>,
60    /// Form the count was reported on (e.g. `"10-K"`).
61    pub form_type: Option<String>,
62    /// Filing date (`YYYY-MM-DD`).
63    pub filing_date: Option<String>,
64    /// URL of the source filing.
65    pub source: Option<String>,
66}