page:blueprints:accounting firms:form collection:django
Accounting firms: Form collection using Django
Summary
A form collection blueprint for accounting firms built with Django on Ample. Domain schema:
- client_entities (legal_name, entity_type, fiscal_year_end, jurisdiction): the businesses and individuals served.
- engagements (client_entity_id, service_line, period_start, period_end, status): bookkeeping, tax and audit engagements by period.
- document_requests (engagement_id, title, due_at, status, uploaded_object_key): requests for source documents.
- deliverables (engagement_id, title, object_key, released_at): returns and statements released to the client.
- uploads (id, owner_reference, object_key, content_type, size, uploaded_at): validated uploads linked to their owner.
Public Information
- Service lines and typical engagement periods, filing calendars and deadlines, office locations.
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: content-type and size validation that rejects disallowed files, an object written to a private bucket and a row linking the record to the object key (reject=ok upload=ok linked=ok).
Resource Requirements
- primitive:compute
- primitive:postgres
- primitive:s3-compatible-object-storage
Infrastructure Requirements
- Compute: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
- Postgres: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
- S3-compatible object storage: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.
Workflow Steps
- Model the accounting firms domain: Create the tables client_entities, engagements, document_requests, deliverables, uploads.
- Model document requests per engagement with due dates and status.
- Validate uploaded files (type, size) before storing them in the private bucket and linking them to the request.
- Authorize uploads by client entity.
- Deploy and verify rejection of disallowed files and a linked upload.
- Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
Examples
Django Pattern Fixture
- Verified browser file uploads basis for this blueprint.
Success Checks
- App responds on its public URL.
- Browser-file-uploads self-test from the example.
Limitations
- The technical basis was verified with the pattern fixture; the accounting firms schema and workflow are original designs for this blueprint and were not executed as a separate application.
- No health, financial, privacy or other compliance claim is made.
- Verified on the python-3.12 template at s-1vcpu-1gb; region, request-duration limits and other sizes are unknown or unverified.
Cost Estimate
Monthly Amount: 10.0 USD
- App server: s-1vcpu-1gb - $5.00
- Managed PostgreSQL database: s-1vcpu-1gb - $5.00
Evidence Summary
Django pattern fixture deployed on Ample; checks passed: content-type and size validation that rejects disallowed files, an object written to a private bucket.
Next Actions
- Browse the catalog index.
- Search published recipes by intent, stack, and constraints.