/**
 * Account type: ASSET, LIABILITY, EQUITY, REVENUE, or EXPENSE
 */
export const AccountAccountType = {
  "ASSET": "ASSET",
  "LIABILITY": "LIABILITY",
  "EQUITY": "EQUITY",
  "REVENUE": "REVENUE",
  "EXPENSE": "EXPENSE"
} as const;
export type AccountAccountType = (typeof AccountAccountType)[keyof typeof AccountAccountType];

/**
 * Operational classification of the account
 */
export const AccountClassification = {
  "REGULAR": "REGULAR",
  "RECEIVABLE": "RECEIVABLE",
  "PAYABLE": "PAYABLE",
  "BANK_CASH": "BANK_CASH",
  "FIXED_ASSET": "FIXED_ASSET",
  "RETAINED_EARNINGS": "RETAINED_EARNINGS",
  "NON_POSTING": "NON_POSTING"
} as const;
export type AccountClassification = (typeof AccountClassification)[keyof typeof AccountClassification];

/**
 * Lifecycle status: DRAFT, ACTIVE, INACTIVE
 */
export const AccountStatus = {
  "DRAFT": "DRAFT",
  "ACTIVE": "ACTIVE",
  "INACTIVE": "INACTIVE"
} as const;
export type AccountStatus = (typeof AccountStatus)[keyof typeof AccountStatus];

/**
 * Lifecycle status: DRAFT, ACTIVE, ARCHIVED
 */
export const ChartOfAccountsStatus = {
  "DRAFT": "DRAFT",
  "ACTIVE": "ACTIVE",
  "ARCHIVED": "ARCHIVED"
} as const;
export type ChartOfAccountsStatus = (typeof ChartOfAccountsStatus)[keyof typeof ChartOfAccountsStatus];
