namespace PowderCoating.Core.Enums; public enum AccountType { Asset = 1, Liability = 2, Equity = 3, Revenue = 4, CostOfGoods = 5, Expense = 6 } public enum AccountSubType { // Assets Cash = 8, Checking = 1, Savings = 2, AccountsReceivable = 3, Inventory = 4, FixedAsset = 5, OtherCurrentAsset = 6, OtherAsset = 7, // Liabilities AccountsPayable = 10, CreditCard = 11, OtherCurrentLiability = 12, LongTermLiability = 13, // Equity OwnersEquity = 20, RetainedEarnings = 21, // Revenue Sales = 30, ServiceRevenue = 31, OtherIncome = 32, // Cost of Goods Sold CostOfGoodsSold = 40, // Expenses Advertising = 50, SuppliesMaterials = 51, Equipment = 52, Insurance = 53, Payroll = 54, ProfessionalFees = 55, Rent = 56, Utilities = 57, Vehicle = 58, Travel = 59, Meals = 60, OfficeSupplies = 61, Depreciation = 62, BankCharges = 63, Other = 99 } public enum BillStatus { Draft = 0, Open = 1, PartiallyPaid = 2, Paid = 3, Voided = 4 } /// /// Company-level accounting method preference. Affects how financial reports /// (P&L, Balance Sheet, Cash Flow) query and present data. Switching this /// setting never re-posts historical GL entries — it is a report-time choice only. /// public enum AccountingMethod { /// Revenue and expenses recognised when cash changes hands. Cash = 0, /// Revenue and expenses recognised when earned/incurred (default). Accrual = 1 } public enum BankReconciliationStatus { InProgress = 0, Completed = 1 } public enum VendorCreditStatus { Open = 0, PartiallyApplied = 1, Applied = 2, Voided = 3 } /// Source document type for a recurring template — controls which entity is created on each fire. public enum RecurringTemplateType { /// Creates a vendor Bill (Draft, pending user review). Bill = 1, /// Creates a direct Expense entry (immediately recorded). Expense = 2 } /// How often a recurring template fires. public enum RecurringFrequency { Daily = 1, Weekly = 2, BiWeekly = 3, Monthly = 4, Quarterly = 5, Annually = 6 } /// Lifecycle state of a Manual Journal Entry. public enum JournalEntryStatus { /// Not yet posted — can still be edited or deleted. Draft = 0, /// Posted to the GL — immutable; can only be reversed. Posted = 1, /// A reversal JE has been created and posted for this entry. Reversed = 2 }