"""Statement Model. Models the lines of the statements from StatementDB. """ from accounting.models.base_model import BaseModel class Statement(BaseModel): """Statement data model. Fields: statement_id (int): ID. dms_customer_id (int): Customer/store ID. actual_statement_no (str): Filename of the received statement. paid (str): Either 'Y' or 'N'. year (int): Statement year. quarter (int): Quarter of the year. 1, 2, 3, or 4. month (int): Month of the year. 1 - 12. check_detail_id (int): ? period_id (int): Accounting period ID. activity_rate (float): Exchange rate for Statement Currency -> USD. original_currency_id (int): ID of the statement's currency. """ fields = { 'statement_id': 0, 'dms_customer_id': 0, 'actual_statement_no': '', 'paid': '', 'year': 0, 'quarter': 0, 'month': 0, 'check_detail_id': 0, 'period_id': 0, 'activity_rate': 0, 'original_currency_id': 0, } int_fields = [ 'statement_id', 'dms_customer_id', 'year', 'month', 'quarter', 'check_detail_id', 'period_id', 'original_currency_id'] float_fields = ['activity_rate'] required_fields = [ 'statement_id', 'dms_customer_id', 'paid', 'year', 'month', 'quarter', 'period_id', 'activity_rate', 'original_currency_id']