Customer (Klant)
Customer is de stamgegevens-entiteit voor klanten in Ultimo: bedrijven of personen voor wie onderhoud of diensten worden uitgevoerd en aan wie kosten worden toegerekend of gefactureerd. De entiteit fungeert als centrale koppeling voor Jobs, Servicecontracten, Reserveringen en kostenregistraties, en maakt het mogelijk om klantspecifieke tarieven (TariffGroup), BTW-instellingen (Vat, UseVat) en factuurgroepering (InvoiceGroupByJob, InvoiceOutPerServiceContract) per klant in te stellen. Met de context Owner kan een klant ook als eigenaar van een Gebouw worden vastgelegd.
Entiteitsnaam: Customer
Databasetabel: Customer
Primaire sleutel: CUSID (UltimoString(6))
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | CustomerContext.None | Klant |
| 1 | CustomerContext.Client | Klant |
| 2 | CustomerContext.Owner | Eigenaar |
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | CustomerStatus.Trash | Trash |
| 0 | CustomerStatus.None | None |
Belangrijkste propertiesbewerken
De entiteit heeft in totaal 41 properties. Hieronder de belangrijkste; gebruik
lookup_entity("Customer")voor de volledige lijst.
| Property | Type | Kolom | Nullable | Default | Omschrijving |
|---|---|---|---|---|---|
| Id | UltimoString(6) | CUSID | Nee | Uniek klant-ID (max. 6 tekens), de primaire sleutel van het record | |
| Description | UltimoString(200) | CUSDESCR | Ja | Naam of omschrijving van de klant | |
| Country | Country | CUSCNTRID | Ja | DefaultCountryId | Land van het bezoekadres; default wordt bepaald door de systeeminstelling DefaultCountryId |
| POBoxCountry | Country | CUSPBCNTRID | Ja | Land behorend bij het postbusadres | |
| ProviderMutationDate | DateTime? | CUSPROVIDERMUTDATE | Ja | Laatste mutatiedatum vanuit een externe data-provider (bv. bij synchronisatie) | |
| RecordChangeDate | DateTime? | CUSRECCHANGEDATE | Ja | Tijdstip van de laatste wijziging van het record | |
| RecordCreateDate | DateTime? | CUSRECCREATEDATE | Ja | SYSDATETIME | Aanmaaktijdstip van het record; automatisch gevuld via database-default |
| ReservableObject | ReservableObject | CUSRESOID | Ja | Koppeling naar een reserveerbaar object dat aan deze klant is toegewezen | |
| SystemCompany | Company | CUSCOMPID | Nee | Bedrijf waartoe dit klantrecord behoort (verplicht) | |
| TariffGroup | TariffGroup | CUSTRFGID | Ja | Tariefgroep voor de berekening van klantspecifieke uurtarieven | |
| Vat | Vat | CUSVATID | Ja | BTW-code die standaard op factuurregels voor deze klant wordt gezet | |
| AddressLine1 | UltimoString(100) | CUSADDRESSLINE1 | Ja | Eerste adresregel van het bezoekadres | |
| AddressLine2 | UltimoString(100) | CUSADDRESSLINE2 | Ja | Tweede adresregel van het bezoekadres | |
| City | UltimoString(40) | CUSCITY | Ja | Plaatsnaam van het bezoekadres | |
| Context | Context | CUSCONTEXT | Nee | 1 | Context van de klant: Client (1 = standaard klant) of Owner (2 = eigenaar van gebouw/object) |
| CostCurrentYear | CompanyMoney | CUSCOSTBY | Nee | 0 | Totale kosten geboekt op deze klant in het lopende boekjaar; automatisch bijgewerkt door triggers |
| CostLastYear | CompanyMoney | CUSCOSTLY | Nee | 0 | Totale kosten geboekt op deze klant in het vorig boekjaar; automatisch bijgewerkt door triggers |
| DataProvider | UltimoString(50) | CUSDATAPROVIDER | Ja | Identificatie van de externe data-provider die dit record heeft aangemaakt of bijgewerkt | |
| EmailAddress | UltimoString(80) | CUSEMAIL | Ja | E-mailadres van de klant voor correspondentie | |
| ExternalId | UltimoString(50) | CUSEXTERNALID | Ja | ID van de klant in een extern systeem (bv. ERP-klantnummer) | |
| ExternalStatus | UltimoString(50) | CUSEXTERNALSTATUS | Ja | Status van het record in het externe bronsysteem | |
| FaxNumber | UltimoString(25) | CUSFAX | Ja | Faxnummer van de klant | |
| InvoiceGroupByJob | Boolean | CUSINVOICEGROUPBYJOB | Nee | 0 | Indien actief, worden factuurregels per job gegroepeerd op de factuur |
| InvoiceOutPerServiceContract | Boolean | CUSINVOPERSVC | Nee | 1 | Indien actief (standaard), wordt per servicecontract een aparte factuur aangemaakt |
| PhoneNumber | UltimoString(25) | CUSPHONE | Ja | Telefoonnummer van de klant | |
| POBox | UltimoString(36) | CUSPOBOX | Ja | Postbusnummer | |
| POBoxCity | UltimoString(40) | CUSPBCITY | Ja | Plaatsnaam behorend bij het postbusadres | |
| POBoxProvinceStateRegion | UltimoString(40) | CUSPBPROVINCESTATEREGION | Ja | Provincie of regio behorend bij het postbusadres |
Relaties met andere entiteitenbewerken
| Property | Verwijst naar | Nullable |
|---|---|---|
| Country | Country | Ja |
| POBoxCountry | Country | Ja |
| ReservableObject | ReservableObject | Ja |
| SystemCompany | Company | Nee |
| TariffGroup | TariffGroup | Ja |
| Vat | Vat | Ja |
Onderliggende / verwijzende entiteiten (1-op-veel)bewerken
De volgende entiteiten verwijzen naar Customer:
| Entiteit | Via property |
|---|---|
| Building | Owner |
| Cost | Customer |
| Equipment | Customer |
| InternalCharge | Customer |
| InternalChargeCreate | Customer |
| InternalChargeCreateCustomer | Id.Customer |
| InternalChargeLine | Customer |
| InvoiceLine | Customer |
| Job | Customer |
| JobExternal | Customer |
| JobInternalChargeInstallment | Customer |
| JobMaterial | Customer |
| JobResource | Customer |
| JobTool | Customer |
| JobWeekLabour | Customer |
| MemorandumBookLine | Customer |
| ObjectContact | Customer |
| PurchaseLine | Customer |
| PurchaseRequestLine | Customer |
| Reservation | Customer |
| ReservationLine | Customer |
| ServiceContract | Customer, Payer |
| WarehouseServeOutline | Customer |
| YearPlan | Customer |
Tips voor consultantsbewerken
- Context Client vs. Owner: Gebruik
CustomerContext.Clientvoor externe opdrachtgevers aan wie kosten worden doorbelast. GebruikCustomerContext.Ownervoor eigenaren van gebouwen of installaties — alleen dan verschijnt de klant als selecteerbare eigenaar op Building. - Kostentotalen worden door triggers bijgewerkt:
CostCurrentYear,CostLastYearenTotalCostworden automatisch herberekend door de triggersTRSD_COSTenTRSM_COSTbij mutaties op deCost-tabel. Pas deze velden nooit handmatig aan. - Facturatie-instellingen:
InvoiceOutPerServiceContractstaat standaard optrue; schakel dit uit als de klant samengestelde facturen over meerdere contracten wenst.InvoiceGroupByJobgroepeert factuurregels per job zodat de klant een overzicht per opdracht krijgt. - BTW-configuratie: Vul
VatenUseVatin voor klanten in landen met afwijkende BTW-behandeling. Vergeet ookTariffGroupniet als afwijkende uurtarieven van toepassing zijn. - ExternalId voor ERP-integraties: Gebruik
ExternalIdom de klant te koppelen aan het klantnummer in een ERP-systeem (bv. SAP of Exact). Dit veld is leidend bij synchronisatie via ImportConnectors. - Adresgegevens: Ultimo slaat zowel een bezoekadres (
AddressLine1/2,City,ZipCode,Country) als een postbusadres (POBox*) op. Vul beide volledig in voor correcte documentgeneratie (bv. Crystal Reports-facturen). - Koppeling met Reserveringen: Via
ReservableObjectkan een klant aan een reserveerbaar object worden gekoppeld, wat gebruikt wordt in facilitaire processen.
Database Detailsbewerken
De tabel dba.Customer bevat 38 kolommen, 0 eigen trigger(s), 3 externe triggers en 6 foreign keys.
Kolommen gezet door triggersbewerken
Deze kolommen worden automatisch bijgewerkt door database-triggers en mogen niet handmatig worden aangepast.
| Kolom | Type | Trigger(s) |
|---|---|---|
CusCostBY |
decimal(21,5) | TRGU_UmmGlobals, TRSD_COST, TRSM_COST |
CusCostLY |
decimal(21,5) | TRGU_UmmGlobals, TRSD_COST, TRSM_COST |
CusTotCost |
decimal(21,5) | TRSD_COST, TRSM_COST |
Belangrijke defaultsbewerken
| Kolom | Default |
|---|---|
CusContext |
1 |
CusRecStatus |
0 |
CusCostBY |
0 |
CusCostLY |
0 |
CusInvoiceGroupByJob |
0 |
CusInvoPerSvc |
1 |
CusRecCreateDate |
sysdatetimeoffset() |
CusReceiveVehInspExpEmail |
1 |
CusTotCost |
0 |
CusTransferNextTime |
0 |
CusUseVat |
0 |
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("Customer")· reference/entities/Customer Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("Customer")· reference/tables/Customer Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="Customer")Alle Before/After Save events en andere workflow-ActionFields. Bron:workflows.xml.
Zie ookbewerken
- contract - Servicecontracten gekoppeld aan klanten
- job - Jobs waarbij een klant als opdrachtgever is vastgelegd
- building - Gebouwen waarvoor de klant als eigenaar staat
- reservation - Reserveringen voor of door de klant
- internal-charge - Interne doorbelastingen aan de klant
- supplier - Leveranciers (vergelijkbare stamgegevens, tegenovergestelde richting)
- vat - BTW-codes die aan klanten worden gekoppeld