page:blueprints:accounting firms:client portal:django

Accounting firms: client portal using Django

Summary

A client portal blueprint for accounting firms built with Django on Ample. Domain schema:

Public information includes service lines and typical engagement periods, filing calendars, and deadlines. Kept out of scope until handling is reviewed: tax identifiers and financial statements, bank and payroll records, identity documents. Financial records and tax identifiers are regulated in most jurisdictions; the portal flows here model authorization only and claim no compliance.

Technical basis verified on Django: a role-to-document access model with negative tests (401 without identity, 403 for the wrong role) and a private-bucket round-trip for the allowed role (private=ok).

Representative Queries

Workflow Steps

  1. Model the accounting firms domain: Create the tables client_entities, engagements, document_requests, deliverables, document_access. The businesses and individuals served live in client_entities; keep the sensitive classes (tax identifiers and financial statements, bank and payroll records, identity documents) out of this schema.
  2. Workflow step 1: Model client entities and engagement periods; every document belongs to one engagement.
  3. Workflow step 2: Authorize by client entity and role before any storage access (401 without identity, 403 for the wrong client).
  4. Workflow step 3: Store documents in the private bucket and stream them through the app.
  5. Workflow step 4: Deploy and verify the negative authorization tests and an authorized download.
  6. Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.

Tested Configuration

Limitations

Cost Estimate

Examples

Success Checks

Next Actions

  1. Browse the catalog index
  2. Search published recipes by intent, stack, and constraints
  3. Prepare a side-effect-free deployment plan for an authorized project