Using Customer

Administering Customers

This section allows you to administer the company's customers efficiently within Duett Økonomi.

Best Practices for Customer Matching

The most reliable way to match a customer is by using the organization number during synchronization. While it may be tempting to rely on externalId, caution is advised, as multiple integrations might be in use simultaneously, so make them unique.

If it is important to retain the original customer numbers, a separate number series must be created in Duett to avoid overlaps. If customer numbers were previously imported from the same system that will now be synchronized, an initial update/synchronization is required to prevent duplicates.

Creating Customer Number Series

Customer numbers can be created within separate series by specifying the id from AccountIntervals of type customer in the customerCreate field AutoCustomerNumberFromSerieId.

For details, see the endpoint:

/Register/v2/AccountIntervals?filter[accountType][EQ]=customer
About the invoiceSendOption

By default, Duett selects the best available delivery method based on the applicable conditions. This selection can be overridden during manual invoicing, but the process will fail if the necessary conditions are not met.

Autotrans (EHF) is the primary option for sending an invoice.

The requirements for sending via EHF are:

  • The customer must have a Norwegian organization number
  • The organization number must be registered in ELMA or another equivalent register for receiving both invoices and credit notes
  • The organization number must be entered for the customer in the customer register
  • An agreement for sending EHF invoices/credit notes must be activated in Duett

When the invoice is sent, Duett will automatically check whether the conditions have changed since last time and send as EHF if possible.

eInvoice is the secondary option for sending an invoice.

The requirements for sending via eInvoice are:

  • The customer cannot receive EHF
  • The contact person must be registered with consent to receive eInvoice via Nets
  • The block for eInvoice must not be enabled

When the invoice is sent, Duett will automatically check whether the conditions have changed since last time and send as eInvoice if possible.

Email is the third option for sending an invoice.

The requirements for sending via email are:

  • The customer cannot receive EHF
  • The customer cannot receive or is blocked from receiving eInvoice
  • An email address is entered for the customer in the customer register

When the invoice is sent, Duett will automatically check whether the conditions have changed since last time and send via email if possible.

Printout (PDF file) is the final option for sending an invoice.

The requirements for sending via printout are:

  • The customer cannot receive EHF
  • The customer cannot receive or is blocked from receiving eInvoice
  • No email address is registered for the customer in the customer register

When the invoice is sent, Duett will automatically check whether the conditions have changed since last time and choose printout only if no other option is possible.

Customer
Property Description Default Create
address The street address of the customer. See Address object below. x
autoCustomerNumberFromSerieId If supplied, the customerNumber will generate from this series. When this is supplied the CustomerNumber will be ignored. x
budgetAmount The field can be used to register a budget amount for the customer, for example an agreed amount for turnover per year. x
contactInfo Contact info of the customer. See Contact object below. x
contactPerson Details of the individual to be contacted on behalf of the customer, if different from contact info. See Contact object below. x
contractEndDate Here you can enter a date for when, for example, an agreement with the customer on special product prices expires.
customerNumber Automatically generated ID in the Duett system. If provided, ensure that it is a reserved series in Duett so that the provided customer number does not conflict. See /Register/v2/AccountIntervals. Customer numbers can be changed for special needs, but they cannot be duplicate customer numbers. x
externalId Not recomended to be used! If the customer has an identifier in an external system linked to this one, the identifier can be set here. This must be unique as it is used for duplicate checks in the system. x
groupAffiliations A list of groups that this customer is apart of. See the group endpoint for more information. x
hourAttestationMobile If this field has a phone number, an SMS will be sent to that number when new hourRegistrations are added referencing this customer. x
hourRegistrations A list of hour registrations associated with work done for this customer
id Unique id given by Duett for this particular customer.
invoiceInfo See Invoice Info Object below. x
name Required. The name of the customer. Use this field instead of contactInfo's name field x
ourSupplierNumber This is a purely informational field where the company's supplier number for this customer can be entered. x
paymentInfo See Payment Info Object below. x
pidNumber The personal identity number or organisation number of the customer. May be relevant in view of any debt collection cases. x
show "False" if soft deleted. True
vatNumber If the customer has a vatNumber it should be added in this field. If the customer is liable for VAT, there must be a capital M after the vatNumber e.g. 395131656M x
Address
Property Description Default Create
address1 The first line of the street address. x
address2 The second address line of the street address, if relevant. x
address3 The third address line of the street address, if relevant. Use this field for non-norwegian post codes. x
isForeign If address is foreign this will be flagged as true.
zipCodeKey Must be null for addresses outside Norway. A valid Norwegian zipcode, can be fetched from Register/v2/ZipCodes. x
zipCodeName The name of the area that the zipCode is from. Automatically populated if norwegian.
country Required for addesses outside Norway. Optional for addresses within Norway. Name of the country the address is located in and not the country code. x
ContactInfo
Property Description Default Create
email E-mail address of the contact
mobile Mobile phone number of the contact
name Name of the contact. Only for contactPerson
phone1 Alternative phone number for the contact
phone2 Further contact number for the contact
phone3 Further contact number for the contact
homepage Link to a website for the contact. Only for contactInfo
InvoiceInfo
Property Description Default Create
bankAccountNumber The bank account number of the customer x
currencyCode If the currency is not norwegian kroner, the ISO 4217 currency code of the currency the customer uses. NOK x
payType How the customer is paid. Enum: cash, invoice, autoPay, payCard, creditCard, currency, autoGiro. Note: If the currency code is not NOK (or null) then the pay type must be currency. x
payDays The default amount of days orders to this customer must be paid by.
creditLimit By default, the field is left blank (=unlimited credit). If an amount limit is set here, a check is made against this when creating new orders. You will receive a warning if the customer's balance plus new order exceeds the credit limit. x
miscellaneousCustomer Boolean. There may be situations in orders/invoices where you do not want to create each individual customer with a customer number, for example random cash customers (consumer customers) where it is not necessary to register names. false x
collectiveInvoice By setting True in this field, all orders that are registered for this customer are collected into a common consolidated invoice. Default False x
notificationAutoPay Only use if the payType is AutoPay. Enum: system, bank, nothing, bbs x
useNoVATOnInvoice Boolean. x
noVatTaxUsage Default tax codes. Enum. The only valid codes are: null, NoVat and NoVat_Abroad. If null the UseNoVATOnInvoice is set to false. x
PaymentInfo
Property Description Default Create
invoiceSendOption No matter what option is selected here, Duett will determine and use the most appropriate delivery method based on current conditions. This can still be overridden to some extent when sending the invoice. null x
invoiceEmail If the invoice send option is email, the address the invoice should be sent to. x
noEInvoice Boolean. Whether to send an electronic invoice or not.Set to true to block the eInvoice option false x

Example:


                {
                    "name": "Example company AS",
                    "externalId": "00000000001",
                    "vatNumber": "712036893",
                    "pidNumber": null,
                    "hourAttestationMobile": "999 99 999",
                    "ourSupplierNumber": null,
                    "contractEndDate": "2028-04-26",
                    "budgetAmount": 200000.00,
                    "address": {
                        "address1": "79815 Example Avenue",
                        "address2": null,
                        "address3": null,
                        "isForeign": false,
                        "zipCodeKey": "0106",
                        "zipCodeName": "OSLO",
                        "country": null
                    },
                    "contactInfo": {
                        "phone1": "99992222",
                        "phone2": "99993333",
                        "phone3": "99994444",
                        "mobile": "99995555",
                        "email": "test@example.com",
                        "homepage": "test.com"
                    },
                    "contactPerson": {
                        "name": "Mr. Example Person",
                        "phone1": "88881111",
                        "phone2": "88882222",
                        "phone3": "88883333",
                        "mobile": "88884444",
                        "email": "fake@contact.com"
                    },
                    "paymentInfo": {
                        "invoiceSendOption": "email",
                        "invoiceEmail": "example@example.com",
                        "noEInvoice": null,
                        "ftpServer": "https://ftpurl.com",
                        "ftpUserName": "username96",
                        "ftpPassword": "password",
                        "ftpDirectory": "/innkommende/",
                        "ftpFileFormat": "pdf"
                    },
                    "invoiceInfo": {
                        "bankAccountNumber": "77579925844",
                        "currencyCode": "NOK",
                        "payType": "invoice",
                        "payDays": 15,
                        "creditLimit": 200000,
                        "miscellaneousCustomer": false,
                        "collectiveInvoice": false,
                        "notificationAutoPay": "nothing",
                        "useNoVATOnInvoice": true, 
                        "noVatTaxUsage": "noVat_Abroad"
                    },
                    "groupAffiliations": [
                        {
                            "id": 16947
                        }
                    ]
                }