Expense Providers
What is an Expense Provider?
An Expense Provider is an intermediary entity that points to the source of services or goods. Instead of direct binding to official companies, the system allows choosing from different types of providers, including a personal contragent directory.
Provider Types
1. Service Provider
Official companies with tax numbers in the common companies directory.
- Contains complete company information
- Verified tax number
- Common directory for all users
2. System User
System users who can provide services for the property.
- For example, a technical specialist servicing the property
- Already registered in the system
- Has profile and email
3. Invited Partner
Invited people who did not register, but their data is saved.
- Contains name and email
- User does not want to register, but data needs to be saved
4. Personal Directory
User's personal contragent directory. The most flexible option.
- Only "Name" field is required
- All other fields are optional (tax, bank, contact)
- No tax number validation - can enter any data
- Linked to property and user
How to Use
Creating an Expense with Provider
- Open expense creation form
- Click "Select Provider" - a modal will open
- Choose provider type (company, user, invitation or personal contragent)
- Select specific provider from list and confirm
Personal Contragent Directory
To manage personal contragents, go to "Personal Directory" section on property page.
Required Fields
- Name - only this field is required
Optional Fields
- Basic Information: Short Name, Legal Form
- Tax Information: Tax Number, VAT Number, Tax System
- Bank Details: IBAN, Bank Name, Bank Code (MFO), SWIFT
- Contact Information: Email, Phone, Website, Legal Address, Actual Address
- Legal Information: Director Name, Contact Person, Registration Date
- Other: Notes
API Endpoints
GET /api/v1/properties/{propertyId}/expense-providers/available
Get all available providers grouped by type
POST /api/v1/properties/{propertyId}/expense-providers/create-by-email
Creates ExpenseProvider using email for "user" or "partner_invitation" types. Performs email validation and automatically sends invitation to partner.
Parameters:
provider_type- Provider type: "user" (existing user) or "partner_invitation" (partner invitation)email- Email of user or partner to invitename- Name for partner invitation (required for partner_invitation type)locale- Invitation language: uk, en, ru, pl, de (default: uk)
Validation:
- For type "user": verifies that email does not belong to current user and belongs to an active user in the system
- For type "partner_invitation": validates email format, checks existing invitations
- If invitation already exists with "invited" status, it is updated and resent
- All validation errors are returned with corresponding translation keys (error_key)
POST /api/v1/properties/{propertyId}/expense-providers/create-or-get
Create or get ExpenseProvider for specific provider
GET /api/v1/properties/{propertyId}/custom-contragents
Get list of personal contragents for property
POST /api/v1/properties/{propertyId}/custom-contragents
Create new personal contragent