Contacts

People and companies

AvailableFoundationmanifest

What it is for ​

One record for every person and organisation you deal with, shared by all other apps. Names and emails are personal data and are masked for agents; the tax identifier is withheld from them entirely. A dedicated, approval-gated erase action anonymises a contact in place.

What the package does and does not do ​

People and organisations the business deals with: the shared party record that CRM, Sales and Invoicing refer to.

Models ​

party ​

A person or organisation the business deals with

Read group: base.user. Write group: base.user.

FieldKindData classPersonal dataGroupAgents seeDescription
nametextpublic_directoryyesbase.usermaskedDisplay name
emailtextpublic_directoryyesbase.usermaskedWork email address
tax_idtextfinancialyesbase.userwithheldTax identifier of a natural person
noteslongtextinternalyesbase.usermaskedFree-text internal notes

Workflows ​

party ​

ActionMovesWho may run itApproval
party.erase-privacy.officeryes

Permission groups ​

Groups used by this app:

  • base.user
  • privacy.officer

Approval steps ​

Steps an agent can only propose:

  • party.erase

What agents can and cannot do ​

An agent can read, search, create and update records of this app, and run the actions that need no approval, within the permission groups of its token.

It can only propose these steps, and a person must approve them: party.erase, party.delete.

Personal data is masked as placeholder tokens: party.name, party.email, party.notes.

These fields are withheld from agents entirely: party.tax_id.

Dependencies ​

None.

Install ​

Built in. It is available in every instance and cannot be removed.

Build your own ​

The module guide shows how apps like this one are written