Account¶
This component is responsible for everything related to companies, prospects and account management.
It means:
- Aggregating data from different sources (like Saleforce, contracting, offers, etc.) to give a 360 overview of a given account
- Manage accounts (like creating a new account, updating an account, adding a company, etc.)
- Search accounts, companies, prospects
- Hide third party data (like Salesforce, Pappers ⧉) behind a single API
The components mostly respects the Modular Monolith architecture, with a few exceptions due to the fact that we are in a migration phase.
This component is not responsible for managing offers, or contracts.
This component is meant to be global, but this is only partially true as of today (2025-05-22), e.g.:
TuringAccountis mostly global, and as suchsearch_accounts_viewcan return accounts from fr/be/es (but not ca).BuilderProspectis intrisically fr-only (since it references concepts such as SIREN, NIC, CCNs, APE codes, etc)
Accounts contains companies and/or prospects. Accounts are not legal entities, merely a grouping of companies that is broadly under common management and therefore are considered as a unit by sales.
Overview¶
The module is still WIP. You can take a look at this discussion ⧉.
Details¶
BuilderProspect: a builder prospect, in its current state (2025-05-22) represents either a prospect in which case its
data is populated from Salesforce, or a link to a real company (real in the sense that a Company object exists). In
the latter case, company_ref will point to the relevant Company object.
Still in the fr context, a BuilderProspect can be tied to a given franchise. Accounts can contains BuilderProspect
tied to different (or no) franchises; BuilderProspect tied to a single franchise do not have to be under the same
account.
Proposal creation requires actual companies, not merely prospects, as such (in the frontend) proposal creation is disabled until companies are created for every prospect under consideration.