Add cash payment compliance and accounting tools

This commit is contained in:
A R R R Associates
2026-09-03 21:36:57 +05:30
parent a71a26e216
commit 024b3e1ad6
@@ -0,0 +1,30 @@
from alembic import op
import sqlalchemy as sa
revision = "20260903_cash_payment_rules"
down_revision = "20260902_ws_enrollment_secret"
branch_labels = None
depends_on = None
def upgrade():
op.create_table(
"accounting_cash_payment_rule_settings",
sa.Column("id", sa.Integer(), primary_key=True, autoincrement=True),
sa.Column("tenant_id", sa.Integer(), sa.ForeignKey("tenants.id", ondelete="CASCADE"), nullable=False),
sa.Column("cash_limit", sa.Float(), nullable=False, server_default="10000"),
sa.Column("effective_from", sa.Date(), nullable=False, server_default="2017-04-01"),
sa.Column("split_window_days", sa.Integer(), nullable=False, server_default="3"),
sa.Column("near_limit_percent", sa.Float(), nullable=False, server_default="80"),
sa.Column("max_allocation_days", sa.Integer(), nullable=False, server_default="5"),
sa.Column("updated_by_user_id", sa.Integer(), sa.ForeignKey("users.id", ondelete="SET NULL"), nullable=True),
sa.Column("created_at_utc", sa.DateTime(), nullable=False, server_default=sa.text("CURRENT_TIMESTAMP")),
sa.Column("updated_at_utc", sa.DateTime(), nullable=False, server_default=sa.text("CURRENT_TIMESTAMP")),
sa.UniqueConstraint("tenant_id", name="uq_cash_payment_rule_settings_tenant"),
)
op.create_index("ix_cash_payment_rule_settings_tenant", "accounting_cash_payment_rule_settings", ["tenant_id"], unique=False)
def downgrade():
op.drop_index("ix_cash_payment_rule_settings_tenant", table_name="accounting_cash_payment_rule_settings")
op.drop_table("accounting_cash_payment_rule_settings")