Self-hosted software · One agency

Project to
Payment.

Keep delivery and billing context together.

Connect won work, project milestones and existing invoice observations in one review workspace. Preserve the reasons behind decisions and assign the next action.

People retain control of invoicing, payments and delivery.

Application overview Synthetic data
Synthetic application overview with separate USD and EUR invoice balances and review cards.
A shared view of current invoice observations and work needing review. Open full screenshot

A completed CRM and billing-review application for a project-based agency with the capacity to operate its own software.

Python 3.12 Django 5.2 PostgreSQL

The workflow

From won work
to a reasoned next step.

Project records and invoice observations answer different questions. Explicit mappings and recorded decisions bring the context together.

  1. 01

    Preserve the work context

    Maintain companies, contacts, opportunities, proposal links and stage history. Convert won work into one linked project with expected invoice milestones.

  2. 02

    Review the evidence

    Connect milestones to stored invoice observations through explicit mappings. Review queues explain why an item needs attention and link to supporting records.

  3. 03

    Record the decision

    The Owner records Ready, Deferred, Billed elsewhere or Waived with a reason and history. Assigned tasks and attributed notes carry the follow-up forward.

See the application

A close look at
the actual workflow.

All records shown are fictional. These materials show the identified software release captured on 25 October 2026.

114 seconds · Captioned still-image tourSilent · Synthetic data
This is a captioned sequence of separate captured states, with camera pans and detail panels. It is not a continuous live recording or a live provider demonstration. The original technical-review titles remain in the unmodified video. Open the tour.
Synthetic overview showing separately reported USD and EUR invoice balances.
01

Separate currency balances

USD and EUR stay separate. Open invoice balances are not cash or recognized revenue.

Synthetic won proposal with value, owner, next action and stage history.
02

Won work with context

A won proposal retains its value, owner, next action and stage history before project creation.

Synthetic linked project showing an expected deposit and explicit invoice mapping.
03

An explicit invoice mapping

An expected deposit maps to a local synthetic invoice. This is not a live Stripe or payment event.

Synthetic Owner review showing Ready with an attributed reason and history.
04

A decision with a reason

The Owner records Ready with an attributed reason and history. Invoice balances remain unchanged.

Synthetic review queues with explanations, supporting records and next actions.
05

Explainable review queues

Cards explain why an item appears and identify a next action. A visible assistant button is not a demonstrated hosted session.

Tall mobile screenshot of a synthetic CSV update preview before confirmation.
06

Preview before importing

The manual CSV preview identifies an update before confirmation. No records are saved in this view.

Tall mobile screenshot of a synthetic refreshed project preserving its local description and agreed value.
07

Preserved local context

After refresh, the project retains its description and agreed value. Source observation and import time remain distinct; the separate Notes section is empty.

Public operating guide

Know what you would
be operating.

Best suited to one web-design, development or similar project-based agency, or an implementation partner with a defined agency use.

01 / Data

Stored observations and deliberate imports

The implemented Stripe reader makes read-only requests, validates a complete snapshot and retains the prior snapshot with stale or error context after a failed refresh. The operator supplies its own restricted reader and verifies it with authorized data.

Manual CSV preview/import supports companies, contacts, opportunities, projects, milestones and invoice snapshots. Stable IDs and record-specific refresh rules matter. Files are capped at 1 MiB and 2,000 rows. This is not live project-management synchronization.

Business records and history export as CSV files in a ZIP. This is not a full database backup or an all-record reimport format.

02 / Boundaries

One agency, with explicit limits

One installation uses one billing source, account and mode at a time. An invoice maps to at most one milestone; partial and combined allocations are unsupported.

USD and EUR remain separate in exact minor units. There is no currency conversion, bank reconciliation, accounting ledger or historical receivables reconstruction.

Owner, Staff and Viewer have differentiated write permissions and broad agency-wide reads. Work assignment does not isolate clients. There is no multi-tenant SaaS, client portal or public signup.

03 / Infrastructure

A buyer-operated application

Python 3.12, Django 5.2 and PostgreSQL power server-rendered pages with no separate frontend build. The buyer supplies a technical operator or implementation partner.

Hosting, HTTPS, database operation, private configuration, staff access, backups, monitoring and refresh schedules are operating responsibilities. Staff maintain project context, mappings and follow-up. Optional mail requires configuration and validation.

Setup, operations, recovery, data-format and limitations documentation is prepared for technical diligence. Actual assets, rights and any transition assistance remain subject to the acquisition agreement. No seller-operated hosting or ongoing maintenance is represented.

04 / Optional interface

Bounded assistant reads

An OAuth-protected interface offers record search, a company brief, action items and an invoice summary. It reads stored evidence and links; it does not change business records, refresh Stripe, send messages or call a model API.

It is disabled by default. Use requires private HTTPS, Owner enablement, individual consent and a compatible assistant account with appropriate permissions. Hosted-client compatibility must be validated for the intended deployment.

Revocation stops later reads, not content already shared in a conversation.

Technical evaluation

Completed checks.
Clearly bounded evidence.

The identified software archive completed local synthetic installation, selected automated and browser workflow checks, packaging review, and isolated PostgreSQL backup and restore verification, including restored access state.

These results do not establish a buyer’s production setup, live Stripe data, external mail delivery, hosted-assistant compatibility or operating capacity. Known operating and dependency limitations are documented for technical review. No formal security, accessibility, compliance or license-conformity certification is claimed.

This page presents the software and its synthetic demonstration. It is not an interactive installation, a subscription service or an offer with agreed acquisition terms.