Client

The Client object represents customers who receive invoices and other documents. Clients can be companies (legal entities) or individuals, and can be synced from e-invoice provider systems.

Attributes

AttributeTypeIn ListIn DetailDescription
idUUIDUnique identifier
typestringClient type: company or individual
namestringCompany name or individual full name
cuistringCUI (Cod Unic de Identificare) for companies
cnpstringCNP (Cod Numeric Personal) for individuals
vatCodestringFull VAT code with country prefix (e.g., "RO12345678")
isVatPayerbooleanWhether the client is registered for VAT
addressstringStreet address
citystringCity name
emailstringEmail address for invoices and communications
contactPersonstringContact person name
clientCodestringCustom client code/reference
registrationNumberstringCompany registration number (număr de înregistrare)
countystringCounty/state
countrystringCountry code (e.g., "RO", "DE")
postalCodestringPostal/ZIP code
phonestringPhone number
bankNamestringBank name for payments
bankAccountstringBank account number (IBAN)
defaultPaymentTermDaysintegerDefault payment term in days
notestextInternal notes about the client
viesValidboolean | nullVIES validation result for EU clients (true = valid, false = invalid, null = not validated)
viesValidatedAtdatetime | nullTimestamp of last VIES validation
viesNamestring | nullCompany name as registered in the VIES system
sourcestringSource: manual, anaf, import
lastSyncedAtdatetimeLast sync timestamp from e-invoice provider
createdAtdatetimeTimestamp when created
updatedAtdatetimeTimestamp of last update
deletedAtdatetimeSoft delete timestamp (null if not deleted)

Example - Company Client

{
  "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "type": "company",
  "name": "Acme Corporation SRL",
  "cui": "12345678",
  "cnp": null,
  "vatCode": "RO12345678",
  "isVatPayer": true,
  "address": "Strada Exemplu, nr. 10",
  "city": "Bucharest",
  "email": "[email protected]",
  "contactPerson": "Ion Popescu",
  "clientCode": "ACME-001",
  "registrationNumber": "J40/1234/2020",
  "county": "Bucuresti",
  "country": "RO",
  "postalCode": "010101",
  "phone": "+40 21 123 4567",
  "bankName": "Banca Transilvania",
  "bankAccount": "RO49AAAA1B31007593840000",
  "defaultPaymentTermDays": 30,
  "notes": "VIP client - priority support",
  "source": "manual",
  "lastSyncedAt": null,
  "createdAt": "2024-01-15T10:00:00+02:00",
  "updatedAt": "2024-02-10T14:30:00+02:00",
  "deletedAt": null
}

Example - Individual Client

{
  "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "type": "individual",
  "name": "Maria Ionescu",
  "cui": null,
  "cnp": "2850123456789",
  "vatCode": null,
  "isVatPayer": false,
  "address": "Bulevardul Libertății, nr. 5, Ap. 12",
  "city": "Brașov",
  "email": "[email protected]",
  "contactPerson": null,
  "clientCode": "IND-042",
  "registrationNumber": null,
  "county": "Brașov",
  "country": "RO",
  "postalCode": "500123",
  "phone": "+40 744 123 456",
  "bankName": null,
  "bankAccount": null,
  "defaultPaymentTermDays": 15,
  "notes": "Individual client - cash payments preferred",
  "source": "manual",
  "lastSyncedAt": null,
  "createdAt": "2024-02-01T11:00:00+02:00",
  "updatedAt": "2024-02-01T11:00:00+02:00",
  "deletedAt": null
}

Notes

  • type: Use company for legal entities, individual for natural persons
  • cui vs cnp: Companies use CUI, individuals use CNP
  • vatCode: Full VAT code with country prefix (RO prefix for Romania)
  • isVatPayer: Determines whether VAT is applied on invoices
  • source: manual (user-created), anaf (synced from e-invoice provider), import (bulk import)
  • viesValid: Automatically set when a foreign EU client is created/updated with a VAT code. Used to determine reverse charge eligibility and OSS applicability.
  • Clients synced from an e-invoice provider have lastSyncedAt timestamp
  • Soft-deleted clients have deletedAt set but remain in database