pub mod control_accounts {
pub const AR_CONTROL: &str = "411000";
pub const AP_CONTROL: &str = "401000";
pub const INVENTORY: &str = "310000";
pub const FIXED_ASSETS: &str = "210000";
pub const ACCUMULATED_DEPRECIATION: &str = "281000";
pub const GR_IR_CLEARING: &str = "408000";
pub const IC_AR_CLEARING: &str = "411800";
pub const IC_AP_CLEARING: &str = "401800";
}
pub mod cash_accounts {
pub const OPERATING_CASH: &str = "530000";
pub const BANK_ACCOUNT: &str = "512000";
pub const PETTY_CASH: &str = "531000";
}
pub mod revenue_accounts {
pub const PRODUCT_REVENUE: &str = "701000";
pub const SERVICE_REVENUE: &str = "706000";
pub const OTHER_REVENUE: &str = "758000";
pub const SALES_DISCOUNTS: &str = "709000";
}
pub mod expense_accounts {
pub const COGS: &str = "603000";
pub const DEPRECIATION: &str = "681000";
pub const SALARIES_WAGES: &str = "641100";
pub const RENT: &str = "613000";
pub const INTEREST_EXPENSE: &str = "661000";
}
pub mod equity_liability_accounts {
pub const COMMON_STOCK: &str = "101000";
pub const RETAINED_EARNINGS: &str = "129000";
pub const PROVISIONS: &str = "151000";
pub const SHORT_TERM_DEBT: &str = "164000";
pub const LONG_TERM_DEBT: &str = "163000";
}
pub mod personnel_accounts {
pub const WAGES_PAYABLE: &str = "421000";
}
pub mod fixed_asset_accounts {
pub const TERRAINS: &str = "211000";
pub const CONSTRUCTIONS: &str = "213000";
pub const INDUSTRIAL: &str = "215000";
pub const TRANSPORT: &str = "218200";
pub const OFFICE_EQUIPMENT: &str = "218300";
pub const IT_EQUIPMENT: &str = "218400";
}
pub mod tax_accounts {
pub const INPUT_VAT: &str = "445660";
pub const OUTPUT_VAT: &str = "445710";
pub const WHT_PAYABLE: &str = "442100";
pub const TAX_RECEIVABLE: &str = "443000";
pub const TAX_EXPENSE: &str = "695000";
pub const DEFERRED_TAX_LIABILITY: &str = "155000";
pub const DEFERRED_TAX_ASSET: &str = "481000";
}
pub mod suspense_accounts {
pub const PAYROLL_CLEARING: &str = "421000";
pub const GENERAL_SUSPENSE: &str = "471000";
}
pub mod additional_revenue {
pub const IC_REVENUE: &str = "757000";
pub const PURCHASE_DISCOUNT_INCOME: &str = "765000";
pub const SALES_RETURNS: &str = "709100";
}
pub mod additional_expense {
pub const RAW_MATERIALS: &str = "601000";
pub const PURCHASE_DISCOUNTS: &str = "609000";
pub const FX_GAIN_LOSS: &str = "666000";
pub const BAD_DEBT: &str = "654000";
}
pub mod liability_accounts {
pub const ACCRUED_EXPENSES: &str = "428000";
pub const ACCRUED_SALARIES: &str = "428400";
pub const UNEARNED_REVENUE: &str = "487000";
pub const IC_PAYABLE: &str = "451000";
}
pub mod equity_accounts {
pub const APIC: &str = "104000";
pub const CURRENT_YEAR_EARNINGS: &str = "120000";
pub const CTA: &str = "107000";
pub const INCOME_SUMMARY: &str = "129900";
pub const DIVIDENDS_PAID: &str = "457000";
}
#[inline]
pub fn pcg_class(account: &str) -> Option<u8> {
let first = account.chars().next()?;
first.to_digit(10).map(|d| d as u8)
}