Test component PDP

M3019 - Novulo Relatiebeheer

This article is a proof of concept, intended to gather feedback

  1. Manage both individual persons and organizations as contacts
  2. Store detailed information about contacts including names, addresses, phone numbers, email addresses
  3. Create and track relationships between contacts (like employer/employee connections)
  4. Handle multiple addresses per contact (postal and visiting addresses)
  5. Manage country-specific address formats and postal codes

You would want to add this component to your business application if you need robust contact management capabilities. It’s particularly useful if your business needs to:

  • Keep track of both individual and organizational contacts
  • Manage complex relationships between contacts (like employees and their roles within organizations)
  • Handle international addresses correctly
  • Maintain detailed contact information for customers, suppliers, or partners

The component seems designed to provide a foundation for CRM-like functionality in a business application, allowing for sophisticated relationship management and contact data organization.

first revision created at: 2011-05-19 16:42:59
last modified at: 2024-09-23 17:29:18
owner: Novulo
domain: Management
available languages: Dutch, English
number of utilization hours: 0
number of production applications containing M3019: 60
Produced concepts
  • N_Person
    Persons are natural persons. Here, information about the person can be stored, like first and last name. A person inherits … read more

  • N_Organization
    Any legal entity, not being a natural person (human), used in your application. It is used for your own organizations, … read more

  • N_Address
    Represents physical addresses, linked to contacts or assets. It is used for street addresses as well as PO Boxes, and … read more

  • N_Country
    The list of countries that you are using in your application./ … read more

  • N_ContactContactLinkType
    This is a type of connection that two contacts can have and has at least one subtype./ For example, “Employer/Employee” … read more

  • N_ContactContactLink
    This record stores the connection from one contact to another contact and its type./ The connection_from contact is connected to … read more

  • N_Province
    A province is a geographical or political subdivision of a country./ … read more

  • N_Contact
    Contacts represent all legal entities, either persons or organizations (including companies, governments or institutions), in your application./ A contact is … read more

  • N_ContactContactLinkInformation
    This record store information for the connections that two contacts have.brFor example, if “A is employer of B” and "B … read more

  • N_ContactContactLinkSubType
    This is a subtype of a type of connection that two contacts can have.brFor example, “Employer/Employee” is a type of … read more

  • N_OrganizationSizeClassification
    A custom description to attribute a size to a company, like “small”, “1-10 employees” or “Corporation”. It can be used … read more

  • N_PostalCode
    This record is used for the postal code search feature on the address record. Based on locally stored postal code … read more

Produced features
  • N_Compound surname (fx)
    If a person has a surname prefix set, then this field stores the surname prefix + the surname./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Full name (fx)
    The first name of a person, then the compound surname. If a person has no first name but only initials, those are used instead of the first name./
    For example: “John Doe”, “J. Doe” or “Piet van Pet”./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_First name
    The first name or given name of the person. Is used to address the person./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Date of birth
    The date of birth of a person. It is stored as a date, and displayed in the locale of your choice, depending on your log-in culture or the culture used for document generation or export./

    • parent concept: N_Person
    • type: Date (Primitive)
  • N_Telephone number
    The landline or mobile telephone number to reach the person, stored as a string. /
    It is mostly the private telephone number. Business telephone numbers can be stored per connection with an employer at the ContactContactLinkInformation record./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Email (private)
    The personal or private e-mail address for the person, not linked to the employer of the person/

    • parent concept: N_Person
    • type: EmailAddress (Primitive)
  • N_Language (preferred)
    The preferred language for the person, used for localizing communication./

    • parent concept: N_Person
    • type: N_Language (Complex)
  • N_First letters
    This is used to store the first letters of a persons first and middle names, i.e. “Jan Hendrik van den Berg” will be J.H. or JH, whereas intitials would be the first letters of all names, including prefixes, JHvdB./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Primary employment connection
    This is the N_ContactContactLink record from the current person to its employer. As a person can have multiple employers, this property defines the primary one./

    • parent concept: N_Person
    • type: N_ContactContactLink (Complex)
  • N_Gender
    The gender of a person can either be male, female or unknown. is the default./

    • parent concept: N_Person
    • type: N_Geslacht (Enumeration)
  • N_Inherits from contact (fx)
    Provides the link between the Person and the Contact (legal entity) that is tied to this person. /
    Persons inherit from contacts. Each person is a contact, but not each contact is a person - organizations also inherits from contacts./

    • parent concept: N_Person
    • type: N_Contact (Complex)
  • N_Prefix surname
    The optional prefix of a surname. For example, “De la” for “De la Cruz” or “Van” for “Van Gogh”./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Surname
    Stores the surname, family name, or last name of a person. It is typically combined with a first name or given name to form the full name of a person/

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Adressing (fx)
    The first addressing of the list of available addressings in the application as a string. The correct addressing is determined based on the gender, form of address, and the language of a person. Examples are “Dear Mr.” in English or “Sehr geehrte Damen und Herren” in German./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Salutation (fx)
    The first salutation of the list of available salutations in the application as a string. The correct salutation is determined based on the gender, form of address, and the language of a person. Examples are “Mr.” in English or “De heer” in Dutch./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Date of death
    The data a person has deceased. It is stored as a date and displayed in the desired local formatting./

    • parent concept: N_Person
    • type: Date (Primitive)
  • N_Mobile telephone number
    A mobile telephone number to reach the person, stored as a string.brIt is mostly the private telephone number. Business telephone numbers can be stored per connection with an employer at the ContactContactLinkInformation record./

    • parent concept: N_Person
    • type: String (Primitive)
  • N_Is deceased
    Indicates whether a person is deceased/

    • parent concept: N_Person
    • type: yesno (Enumeration)
  • N_First user account (fx)
    This is the first N_User record within the Novulo application that is linked to the person./

    • parent concept: N_Person
    • type: N_User (Complex)
  • N_Age (fx)
    The calculated age of a person, based on date of birth/

    • parent concept: N_Person
    • type: Int (Primitive)
  • N_Name organization
    The name of the organization/

    • parent concept: N_Organization
    • type: String (Primitive)
  • N_Telephone
    The general telephone number for the organization./

    • parent concept: N_Organization
    • type: String (Primitive)
  • N_Email
    The email address that is primarily used to contact the organization as a whole. Email addresses of employees are stored on the ContactContactLinkInformation record./

    • parent concept: N_Organization
    • type: EmailAddress (Primitive)
  • N_Website
    The homepage of an organization/

    • parent concept: N_Organization
    • type: Url (Primitive)
  • N_Is my organization
    Indicates whether this organization is an organization that is the actual user of the organization. Typically this is your own organization that creates sales, adds invoices, keeps a ledger account, etc. /

    • parent concept: N_Organization
    • type: yesno (Enumeration)
  • N_Inherits from contact (fx)
    Provides the link between the Organization and the Contact (legal entity) that is tied to this person. /
    Organizations inherit from contacts. Each organization is a contact, but not each contact is an organization, pas persons also inherits from contacts./

    • parent concept: N_Organization
    • type: N_Contact (Complex)
  • N_OrganisatieGrootteClassificatie

    • parent concept: N_Organization
    • type: N_OrganizationSizeClassification (Complex)
  • N_Logo
    An image file that is used on the page of an organization within the Novulo application to easily differentiate organizations./
    Hint: This file is also used for the tile when a user pins an organization to the dashboard of a Novulo application/

    • parent concept: N_Organization
    • type: File (Primitive)
  • N_Country
    The country of the address, referring to the list of countries./

    • parent concept: N_Address
    • type: N_Country (Complex)
  • N_Postal code
    A postal code (also known locally in various English-speaking countries throughout the world as a postcode, post code, PIN or ZIP Code) is a series of letters or digits or both, sometimes including spaces or punctuation, included in a postal address./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Description (fx)
    A computed string to easily distinguish multiple addresses. If the field “description” is not set, it shows the city, country code, postal code and the street and number as one string.brIt is not recommended to use this string for address labels. Use a formatted address string instead./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_City
    The city, town or village of the address./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Owner
    The person or organization that is linked to an address. Addresses can only have a single owner. A person or an organization can have multiple addresses.brIf multiple persons have the same postal address for example, the address record has to be stored for each person individually./

    • parent concept: N_Address
    • type: N_Contact (Complex)
  • N_House number
    Stores the numerical part of a house number. When there is an appendix, this is stored separately. For example when the address is Street 14A, this stores the 14-part./

    • parent concept: N_Address
    • type: Int (Primitive)
  • N_House number appendix
    Stores an alphanumerical appendix to a house number. For example, when the address is Street 14A, this stores the A./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Street
    The street name of the address/

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Is postal address
    If this checkmark is enabled, the address is seen as a location that is suitable for the delivery of mail or parcels./

    • parent concept: N_Address
    • type: yesno (Enumeration)
  • N_Is visiting address
    If this checkmark is enabled, the address is seen as a physical location that is suitable for visits./

    • parent concept: N_Address
    • type: yesno (Enumeration)
  • N_Corresponding postal address
    If an address has the checkmark “is visiting address” enabled, a corresponding postal address can be linked. This is a postal address of the same owner./

    • parent concept: N_Address
    • type: N_Address (Complex)
  • N_Telephone number
    A telephone number that is associated with the address./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Description
    A custom description for an address. This can help to better distinguish multiple addresses for a contact. It can be set to “Old address before moving” for example./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Address type
    The address type can either be “street address”, “post office box” or “freepost”./

    • parent concept: N_Address
    • type: N_AdresType (Enumeration)
  • N_Start date
    The date after which the address is considered correct. When a customer moves from A to B in two weeks, a start date at address B can indicate that the address can be used after the start date./

    • parent concept: N_Address
    • type: Date (Primitive)
  • N_End date
    The date after which the address is no longer considered correct. When a customer moves from A to B in two weeks, an end date at address A indicates that the address should no longer be used after the end date./

    • parent concept: N_Address
    • type: Date (Primitive)
  • N_Is active
    If an address should no longer be used by automatic processes and if it should no longer be selectable in most dropdowns, this checkmark can be set to “No”./

    • parent concept: N_Address
    • type: yesno (Enumeration)
  • N_Additional address line
    Additional free form text field to identify an address. This field is only visible when the country of and address has the checkmark “uses additional address line” set to Yes./

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Owner is my organization (fx)
    This results in Yes if the owner of an address is an organization with the checkmark “is my organization” enabled/

    • parent concept: N_Address
    • type: yesno (Enumeration)
  • N_GUID
    Globally Unique Identifier/

    • parent concept: N_Address
    • type: String (Primitive)
  • N_Name
    The name of the country/

    • parent concept: N_Country
    • type: String (Primitive)
  • N_EU membership
    Indicates if a country is member of the EU/

    • parent concept: N_Country
    • type: N_EU ligging (Enumeration)
  • N_ISO code (2 characters)
    The 2-digit ISO-3166 Alpha-2 code for the country./

    • parent concept: N_Country
    • type: String (Primitive)
  • N_Is default
    Indicates that the country is default for new addresses./

    • parent concept: N_Country
    • type: yesno (Enumeration)
  • N_Language (primary)
    Indicates the primary or default language to be used for this country./

    • parent concept: N_Country
    • type: N_Language (Complex)
  • N_Is active
    Indicates wheter or not this country is active in your application./

    • parent concept: N_Country
    • type: yesno (Enumeration)
  • N_Has additional address line
    This indicates if, whitin this country, addresses can have a second address line. For example, this is often used in the United Kingdom, but not in the Netherlands./

    • parent concept: N_Country
    • type: yesno (Enumeration)
  • N_IsDienstverband

    • parent concept: N_ContactContactLinkType
    • type: yesno (Enumeration)
  • N_Voegt contactinformatie toe

    • parent concept: N_ContactContactLinkType
    • type: yesno (Enumeration)
  • N_Accounthouder (RRV) (fx)

    • parent concept: N_User
    • type: N_ContactContactLink (Complex)
  • N_Accounthouder (Relatie)

    • parent concept: N_User
    • type: N_Contact (Complex)
  • N_Naam (fx)

    • parent concept: N_User
    • type: String (Primitive)
  • N_Accounthouder (mijn org) (fx)

    • parent concept: N_User
    • type: N_Organization (Complex)
  • N_Contact from

    • parent concept: N_ContactContactLink
    • type: N_Contact (Complex)
  • N_Contact to

    • parent concept: N_ContactContactLink
    • type: N_Contact (Complex)
  • N_RelatieRelatieVerbandInformatie

    • parent concept: N_ContactContactLink
    • type: N_ContactContactLinkInformation (Complex)
  • N_ContactContactLinkSubType

    • parent concept: N_ContactContactLink
    • type: N_ContactContactLinkSubType (Complex)
  • N_Opposite contact contact link (fx)

    • parent concept: N_ContactContactLink
    • type: N_ContactContactLink (Complex)
  • N_GUID

    • parent concept: N_ContactContactLink
    • type: String (Primitive)
  • N_Name

    • parent concept: N_Province
    • type: String (Primitive)
  • N_Country

    • parent concept: N_Province
    • type: N_Country (Complex)
  • N_Organization
    Refers to the organization record that is linked to the contact. For person contacts, this is empty./
     /

    • parent concept: N_Contact
    • type: N_Organization (Complex)
  • N_Person
    Refers to the person that inherits from the contact./

    • parent concept: N_Contact
    • type: N_Person (Complex)
  • N_Contact type
    The type of the contact (Person or Organization). Persons have a twinned person-record, organizations an organization-record, sharing the same ID./

    • parent concept: N_Contact
    • type: N_ZakelijkParticulier (Enumeration)
  • N_Name (fx)
    The name of the contact, either the organization name or the person’s name./

    • parent concept: N_Contact
    • type: String (Primitive)
  • N_Is active
    If the contact is active, so can be selected in the application. /

    • parent concept: N_Contact
    • type: yesno (Enumeration)
  • N_Primary address
    Registers the default or primary address for a customer, to display in grid views and to show with the customer. Will be used as default address for deliveries and invoices, unless otherwise specified./

    • parent concept: N_Contact
    • type: N_Address (Complex)
  • N_Currency (preferred)
    Stores the preferred or default currency for a contact (supplier or customer)./

    • parent concept: N_Contact
    • type: N_Currency (Complex)
  • N_GUID

    • parent concept: N_Contact
    • type: String (Primitive)
  • N_Notes
    A free-format field to store notes for a contact/

    • parent concept: N_Contact
    • type: String (Primitive)
  • N_Email (fx) (SR33495)

    • parent concept: N_Contact
    • type: EmailAddress (Primitive)
  • N_Telephone number (fx)
    The telephone number of either the organization or the person linked to the contact. The stripped version contains no dots, dashes or spaces./

    • parent concept: N_Contact
    • type: String (Primitive)
  • N_Is my organization (fx)

    • parent concept: N_Contact
    • type: yesno (Enumeration)
  • N_Functieomschrijving

    • parent concept: N_ContactContactLinkInformation
    • type: String (Primitive)
  • N_Telefoon direct

    • parent concept: N_ContactContactLinkInformation
    • type: String (Primitive)
  • N_Telefoon mobiel

    • parent concept: N_ContactContactLinkInformation
    • type: String (Primitive)
  • N_Email

    • parent concept: N_ContactContactLinkInformation
    • type: EmailAddress (Primitive)
  • N_Locatie

    • parent concept: N_ContactContactLinkInformation
    • type: N_Address (Complex)
  • N_IsConnectionActive

    • parent concept: N_ContactContactLinkInformation
    • type: yesno (Enumeration)
  • N_GUID

    • parent concept: N_ContactContactLinkInformation
    • type: String (Primitive)
  • N_Ingangsdatum

    • parent concept: N_ContactContactLinkInformation
    • type: Date (Primitive)
  • N_Einddatum

    • parent concept: N_ContactContactLinkInformation
    • type: Date (Primitive)
  • N_ContactContactLinkType

    • parent concept: N_ContactContactLinkSubType
    • type: N_ContactContactLinkType (Complex)
  • N_Description

    • parent concept: N_ContactContactLinkSubType
    • type: String (Primitive)
  • N_Opposite sub type (fx)

    • parent concept: N_ContactContactLinkSubType
    • type: N_ContactContactLinkSubType (Complex)
  • N_Direction

    • parent concept: N_ContactContactLinkSubType
    • type: N_FromTo (Enumeration)
  • N_Description

    • parent concept: N_OrganizationSizeClassification
    • type: String (Primitive)
  • N_Country
    The country where the postal code is valid/

    • parent concept: N_PostalCode
    • type: N_Country (Complex)
  • N_Postal code
    A postal code (also known locally in various English-speaking countries throughout the world as a postcode, post code, PIN or ZIP Code) is a series of letters or digits or both, sometimes including spaces or punctuation, included in a postal address for the purpose of sorting mail./

    • parent concept: N_PostalCode
    • type: String (Primitive)
  • N_City
    The city that belongs to the postal code/

    • parent concept: N_PostalCode
    • type: String (Primitive)
  • N_Number from
    The first house number for the street, that falls within the postal code/

    • parent concept: N_PostalCode
    • type: Int (Primitive)
  • N_Number to
    The last house number for the street that falls within the postal code/

    • parent concept: N_PostalCode
    • type: Int (Primitive)
  • N_Number type
    The number type defines whether the numbers between the “number from” and the “number to” are either odd, even or mixed./

    • parent concept: N_PostalCode
    • type: N_OnevenEvenGemengd (Enumeration)
  • N_Street
    The name of the street that falls within the postal code. If a street only partially falls within the postal code, then “number from” and “number to” can be filled in./

    • parent concept: N_PostalCode
    • type: String (Primitive)
Produced processes
  • N_ContactContactLinkInformation - Lock and update new

    • input parameter(s):
      • relatie_van (N_Contact)
      • is_organisatie_anders_persoon (yesno - Enumeration)
    • return value(s):
      • success (Boolean),error (Messages),rrvi (N_ContactContactLinkInformation)
  • P_AM2 - Add client

    • no input parameters
    • return value(s):
      • success (Boolean),error (Messages)
  • N_ContactContactLinkInformation - Lock and update new (UI)

    • input parameter(s):
      • relatie_van (N_Contact)
      • relatie_naar (N_Contact)
      • relatieverbandsubtype (N_ContactContactLinkSubType)
      • is_organisatie_anders_persoon (Boolean)
    • return value(s):
      • success (Boolean),error (Messages)
  • N_Organization - Add new contact person

    • input parameter(s):
      • organisatie (N_Contact)
      • persoon (N_Contact)
      • connectietype (N_ContactContactLinkType)
      • startdatum (Date)
      • einddatum (Date)
    • return value(s):
      • success (Boolean),error (Messages),connectie (N_ContactContactLinkInformation)
  • P_AM3 - Trigger add new person concept

    • no input parameters
    • return value(s):
      • success (Boolean),error (Messages)
  • N_Country - Get postal code formatted (PI43133)

    • input parameter(s):
      • country (N_Country)
      • postal_code (String)
    • return value(s):
      • success (Boolean),error (Messages),postal_code_formatted (String)
  • N_Person - Update fields (SR57542)

    • input parameter(s):
      • person (N_Person)
      • initials (String)
      • first_name (String)
      • prefix (String)
      • surname (String)
      • gender (N_Geslacht - Enumeration)
      • e_mail (EmailAddress)
      • phone (String)
      • birthday (Date)
      • mobile (String)
    • return value(s):
      • success (Boolean),error (Messages)
  • N_Person - Set language at person

    • input parameter(s):
      • person (N_Person)
      • language (N_Language)
    • return value(s):
      • success (Boolean),error (Messages)