General information
Customers are migrated to Hydra from other billing systems via an intermediate set of tables (intermediate data schema) represented by CSV files:
- Customers data is exported from the old billing system in the intermediate schema format.
- The resulting files are uploaded to the data migration application.
- Various automated checks are performed to verify the correctness and integrity of the data.
- The exported reference table records are compared with similar Hydra references.
- Additional automated checks are performed to verify data correctness, taking into account the reference tables mappings.
Customers are imported to Hydra.
To debug the process of data export and the migration itself, all work is first performed iteratively on a test instance of Hydra:
- The data dump is formed and a trial migration to the test Hydra is performed.
- The results of the trial migration are being checked together (both teams involved):
- Reconciliation of aggregate indicators in reports;
- Selective reconciliation of individual customers with the original data in the old billing system;
- Identification of missing billing or technical details of customers for integrations and AAA;
- Detection of inconsistencies in price plans and services configured in Hydra: prices, service providing schemes, services availability for different groups of customers.
- As many discrepancies and errors as possible are fixed:
- The data in the old billing is being corrected;
- Data export scripts are adjusted;
- Price plans and services are created and adjusted in the main instance of Hydra;
- Data migration application settings and workflow are being changed.
The Hydra test instance is reloaded with a snapshot of the data from the main one, a new data export from the old billing is formed, and the process repeats.
- When the result of the trial migration is considered as good enough for going live, the process is repeated on the main Hydra instance.
Data format
Each table is exported to a separate CSV file, the name of which is identical to the table's one.
- UTF-8 encoding is used for text.
Fields (columns) are separated by semicolons — ;
All field values are enclosed in double quotation marks — "
The first row is a header, i.e. it contains the names of the table fields (columns).
- Line feed characters (LF, \n) are not allowed in field values.
If a line break is necessary in a value (for example, for a comment in the REMARK column), it must be represented by a unique character, such as ¶ (pilcrow sign).
Primary keys (ID fields) and foreign keys (*_ID fields) are natural (positive integer) numbers.
- All data files are packed into a combined ZIP archive.
- The archive must contain only CSV data files, with no directories or extraneous files.
- The archive must contain files for all tables of the intermediate schema. Tables are optional only in terms of their content, but a file with a header row must always be present.
- For values of Date and DateTime types (fields *_DATE except BILLING_DATE), two formats are allowed:
- With time: DD.MM.YYYY HH24:MM:SS (in Oracle database terms), for example, 12.04.1961 09:07:00. The time part can be specified without minutes or seconds: missing data is considered to be zero.
- Without time: DD.MM.YYYY (in Oracle database terms), for example, 12.04.1961. In this case, the time part is considered to be midnight.
- The decimal separator for numerical values is a period. For example, if the balance of a customer account is 123 dollars and 45 cents, the value should be 123.45 (in the BALANCE column of the ACCOUNTS table).
Examples
Archive with a complete set of files containing only header lines with no data:
Use this archive as a template for data export
Sample content of the ACCOUNTS.csv file for the ACCOUNTS table:
"ID";"CUSTOMER_ID";"ACCOUNT_NUMBER";"ACCOUNT_TYPE_ID";"CURRENCY_ID";"BANK_ID";"BALANCE";"CREDIT";"CREDIT_END_DATE";"BALANCE_DATE";"REMARK" "10";"1";"14170";"1";"643";"";"802.00";"";"";"29.02.2024 23:59:59";"" "11";"1";"14170★";"3";"999";"";"560";"";"";"29.02.2024 23:59:59";"Opened upon signing the contract.Bonuses may only be redeemed with the consent of Bilbo Baggins."¶
Archive with simplified data export, including only the basic data set:
Archive with an advanced data export, including optional tables and fields:
Simplifications and assumptions of the migration process
- Organizations and individuals are located in a common CUSTOMERS table and are distinguished by the value of the ORGANIZATION field.
- Only Name, Legal form, and Tax ID are migrated for organizations by default.
- The charges history migrates “as is” in the form of archived charge logs.
For current billing periods, during migration, charge logs are generated by Hydra core, based on configured service providing schemes and price specifications, taking into account exported start dates of billing periods and subscriptions to services.
- The volume of traffic services consumed in the current period, e.g. "megabytes" of Internet traffic or “minutes” of telephony services — does not migrate.
- Price plans, services, and their features: frequency, quotas, prices, bandwidth policies — are not migrated. These settings are configured manually in Hydra beforehand and then mapped to the exported list (PRODUCTS table).
- The internal identifiers of migrated entities in Hydra will differ from the exported ones. However, the correspondence between the exported and resulting identifiers during migration is stored in Hydra database for further processing.
Intermediate data schema tables
To better understand the relationships of the tables, we recommend that you check the ER diagram of the intermediate data schema.
ID columns are primary keys of tables: their values must be unique within the table.
- *_ID columns are foreign keys of tables, references to records in other tables. Ensure their integrity:
- The export should not contain references to non-existent records.
For example, the CONTRACTS table can't have contracts for customers who are not in CUSTOMERS table. If a particular customer is excluded from the export for some reason, there should be no data about them in any tables. - References within the same record should not contradict each other.
For example, in the SUBSCRIPTIONS table, references to the contract (CONTRACT_ID column) and customer account (ACCOUNT_ID column) are mandatory — these contract and account must belong to the same customer.
- The export should not contain references to non-existent records.
Mandatory tables and columns in the following description are marked with a icon.
Tables and columns that can be left blank to simplify export are marked with a icon.
By agreement, additional tables and extra columns of standard tables can be added to the schema.
Reference tables
This section lists tables whose data is not migrated but is used to map reference records of the source system with similar records in Hydra.
If the names in the export and in Hydra match, the entries correspondence can be automatically set by the data migration application.
Correspondences are preserved between migration iterations if the identifiers and names of records do not change.
ACCOUNT_TYPES — types of accounts
At least customer accounts are required for the ACCOUNTS table.
Column | Description |
|---|---|
ID | Account type identifier. |
NAME | Account type name. |
| REMARK |
In Hydra: Master Data → Reference Data → Account types.
Examples: Customer account, Settlement (current) account.
AUTH_DOC_TYPES — types of identity documents
Leave the table blank if you are not exporting the identity details of individual customers.
Column | Description |
|---|---|
ID | Document type identifier. |
NAME | Document type name. |
| REMARK |
In Hydra: Master Data → Reference Data → ID types.
Examples: Passport, Driving license.
BANKS — banks of settlement accounts and payment sources
Leave the table blank if you are not exporting settlement (current) accounts и payments history.
Column | Description |
|---|---|
ID | Bank identifier. |
NAME | Bank name. |
| REMARK |
In Hydra: Master Data → Banks.
Examples: NatWest International, Stripe, PayPal.
COMMENT_TYPES — types of comments
Leave the table blank if you are not exporting extended comments to customers or to their equipment.
Column | Description |
|---|---|
ID | Comment type identifier. |
NAME | Comment type name. |
| REMARK |
In Hydra: Master Data → Reference Data → Comment types.
Examples: Technical support request, Customer feedback, Service outage.
CURRENCIES — account currencies
At least one currency is required, which is used for payments and charges on customer accounts.
Column | Description |
|---|---|
ID | Currency identifier. |
NAME | Currency name. |
| REMARK |
In Hydra: Master Data → Reference Data → Currencies.
Examples: Gibraltar pound, Bonus.
CUSTOMER_GROUPS — groups of customers
At least primary groups required.
Column | Description |
|---|---|
ID | Group identifier. |
NAME | Group name. |
| REMARK |
In Hydra: Master Data → Groups → Subject group type: Customer.
Examples: Residential, Business, Enterprise, Employees.
CUSTOMER_STATUSES — customer statuses
At least two statuses are required: for active and disconnected customers customers.
Column | Description |
|---|---|
ID | Status identifier. |
NAME | Status name. |
| REMARK |
In Hydra: Master Data → Customers → Status.
Examples: Active, Suspended manually, Disabled.
EQUIPMENT_TYPES — types of customer and provider equipment
At least one type of customer premises equipment (service providing point) is required.
Specify only the types of customer equipment if you are not exporting its connections to the provider equipment.
Column | Description |
|---|---|
ID | Equipment type identifier. |
NAME | Equipment type name. |
| REMARK |
In Hydra: Master Data → Product Catalog → Material assets.
Examples: Terminal equipment, STB, ONU, ZTE OLT C300.
FIRMS — Hydra instance divisions
Leave the table blank if there is only one firm in your Hydra (single-division setup).
Column | Description |
|---|---|
ID | Division identifier. |
NAME | Division name. |
| REMARK |
In Hydra: Master Data → Organizational Structure.
Examples: Offline Telecom, Cloud Express.
NETWORK_SERVICES — network services and applications of Hydra
At least Customer Self-Care Portal is required.
Column | Description |
|---|---|
ID | Network service identifier. |
NAME | Network service name. |
| REMARK |
In Hydra: Equipment → Network Services.
Examples: Customer Self-Care Portal, PPPoE (Internet), SIP (VoIP), SMS-notifications.
PAYMENT_TYPES — payment types
Leave the table blank if you are not exporting payments history at all or are only exporting real payments and do not want to separate them by type (the common type from the migration application settings will be used).
Column | Description |
|---|---|
ID | Payment type identifier. |
NAME | Payment type name. |
| VIRTUAL | Y for virtual types and N — for real ones. |
| REMARK |
In Hydra:
- Master Data → Reference Data → Virtual payments.
- Master Data → Reference Data → Real payments.
Examples: Cash (real), Payment System (real), Correction (virtual), Bonus (virtual).
PHONE_TYPES — phone number purposes for organizations and individuals
Leave the table blank if you are not exporting the contact numbers of individuals and organizations to a separate CUSTOMER_PHONES table.
Column | Description |
|---|---|
ID | Phone number purpose identifier. |
NAME | Phone number purpose name. |
| REMARK |
In Hydra: Master Data → Reference Data → Address purposes.
Examples: Mobile, Home, Notification, Work.
PRODUCTS — price plans, services and adjustments
At least current customers price plans and their additional recurrent services are required if you are not exporting the charges history.
Column | Source of values | Description |
|---|---|---|
ID | Product identifier. | |
NAME | Product name. | |
| TYPE | Y for price plans, N — for the rest. | |
| UNIT_ID | UNITS.ID | Measurement unit identifier for quantitative services from the UNITS table. Must correspond to the measurement unit of the respective Hydra product catalog item.
|
| REMARK |
In Hydra:
- Master Data → Product Catalog → Price plans.
- Master Data → Product Catalog → Services.
- Master Data → Product Catalog → Adjustments.
Examples: Ultimate (price plan), STB rent fee (service), Refund (adjustment).
PROVIDER_EQUIPMENT — the provider network devices, that customer ones are connected to
Leave the table blank if you are not exporting CPE's connections to the provider equipment for inventory or AAA purposes (e.g. DHCP Option 82 based IPoE authentication).
Column | Source of values | Description |
|---|---|---|
ID | Equipment identifier. | |
| EQUIPMENT_TYPE_ID | EQUIPMENT_TYPES.ID | Equipment type identifier. |
CODE | Equipment code. Used for automatic matching. | |
| IP | ||
| FIRM_ID | FIRMS.ID | Firm identifier for multi-division Hydra setup.
|
| REMARK |
In Hydra: Equipment → Active Equipment.
Examples: OLT/Lomas/150645320095, SW-Cisco-C2950-24/12345.
STREET_ADDRESS_PURPOSES — street address purposes for organizations, individuals, and CPE
Leave the table blank if you are not exporting street addresses to separate CUSTOMER_STREET_ADDRESSES and EQUIPMENT_STREET_ADDRESSES tables.
Column | Description |
|---|---|
ID | Street address purpose identifier. |
NAME | Street address purpose name. |
| REMARK |
In Hydra: Master Data → Reference Data → Address purposes.
Examples: Actual address, Permanent residency address, Registered office, Service address.
UNITS — units of measurement for the quantity of services
Leave the table blank if you are not exporting quantitative services.
Column | Description |
|---|---|
ID | Measurement unit identifier. |
NAME | Measurement unit name. |
| REMARK |
In Hydra:
- Master Data → Reference Data → Units of measurement.
- Master Data → Reference Data → Time measurement units.
- Master Data → Reference Data → Units of information.
- Master Data → Reference Data → Data rate units.
Examples: Piece, Meter, Megabyte, Minute, Megabits per second.
Customers details to import
The data from these tables is used during migration to create Hydra entities of the corresponding type.
If the described intermediate data schema is insufficient for transferring all necessary details to Hydra, please contact Hydra Team to discuss extra columns or additional tables.
CUSTOMERS — customers and basic subjects
The main table, to which all others are linked in one way or another.
As a rule, each entry in this table corresponds to a single independent customer. If you need to combine multiple customers within a common basic subject (individual or organization), in addition to separate entries for each customer, export entries for their base subject, linking them to each other via PARENT_ID. In this case, the IDs of customers must be positive, and IDs of basics subjects must be negative.
| Column | Source of values | Description |
|---|---|---|
ID |
Subscribers must have positive identifiers, while basic subjects (individuals and organizations) must have negative identifiers. | |
STATUS_ID | CUSTOMER_STATUSES.ID |
|
| PARENT_ID | CUSTOMERS.ID | Basic subject identifier when exported separately.
|
CODE |
| |
ORGANIZATION | ||
NAME |
| |
| SECOND_NAME |
| |
| SURNAME |
| |
ADDRESS | The actual street address of an individual or organization in the format If some details are missing, leave only commas. For example: The house number can be supplemented with the corpus number:
| |
| ADDRESS_REMARK | Actual street address remark.
| |
AUTH_DOC_TYPE_ID | AUTH_DOC_TYPES.ID |
|
AUTH_DOC_SERIAL |
| |
AUTH_DOC_NUMBER |
| |
AUTH_DOC_DATE |
| |
AUTH_DOC_ISSUING_AUTHORITY |
| |
| BIRTH_DATE |
| |
| BIRTH_PLACE |
| |
TAX_ID_NUMBER |
| |
LEGAL_FORM_CODE | Code or name of the legal form. For example: SP or Sole proprietor, LLC or Limited liability company. All variants must be configured in Hydra beforehand: Master Data → Reference Data → Business entity types.
| |
W_PHONE | Contact work phone number in E.164 format: no spaces, hyphens, plus signs, or parentheses — only digits. You can specify multiple numbers by separating them with commas.
| |
H_PHONE | Contact home phone number in E.164 format: no spaces, hyphens, plus signs, or parentheses — only digits. You can specify multiple numbers by separating them with commas.
| |
M_PHONE | Contact mobile phone number in E.164 format: no spaces, hyphens, plus signs, or parentheses — only digits. You can specify multiple numbers by separating them with commas.
| |
| ||
FIRM_ID | FIRMS.ID | Firm identifier for multi-division Hydra setup.
|
| REMARK |
CUSTOMER_GROUP_BINDS — customer participation in groups
Each customer must be a member of at least one group.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID | |
| GROUP_ID | CUSTOMER_GROUPS.ID | |
| PRIMARY |
Each customer must have only one primary group. | |
| REMARK |
CUSTOMER_COMMENTS — extended comments to customers
Multipart notes to customers, categorized by type, will be available on the Comments tab of the customer page in Hydra.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID | |
| COMMENT_TYPE_ID | COMMENT_TYPES.ID | |
| COMMENT_TEXT |
| |
| CREATED_DATE | ||
| REMINDER_DATE | ||
| EXECUTION_DATE |
CUSTOMER_MAPPINGS — correspondence between exported customers and those already existing in Hydra
To be filled in only for the migration of additional details to previously created customers.
| Column | Source of values | Description |
|---|---|---|
| CUSTOMER_ID | CUSTOMERS.ID |
Primary key in this table: only one record is possible here for each exported subscriber.. |
| CUSTOMER_DST_CODE | ||
| REMARK |
CUSTOMER_PHONES — contact phone numbers for individuals and organizations
Extended version of assigning contact phone numbers of different kinds (purposes) with optional notes.
If you don't need notes and the standard purposes (Work, Home, Mobile) are sufficient — leave this table empty and use W_PHONE, H_PHONE, and M_PHONE columns of the CUSTOMERS table instead.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID |
When exporting customers and basic subjects separately — the identifier of the basic subject. |
| PHONE_TYPE_ID | PHONE_TYPES.ID | |
| PHONE | ||
| REMARK |
CUSTOMER_STREET_ADDRESSES — detailed street addresses of individuals and organizations
Extended version of assigning street addresses of different kinds (purposes) to basic subjects.
If one actual street address in simplified format is sufficient, leave this table blank and use ADDRESS and ADDRESS_REMARK columns of the CUSTOMERS table instead.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID |
When exporting customers and basic subjects separately — the identifier of the basic subject. |
| ADDRESS_PURPOSE_ID | STREET_ADDRESS_PURPOSES.ID |
|
| DISTRICT | ||
| CITY | ||
| CITY_TYPE |
All variants must be configured in Hydra beforehand: Master Data → Reference Data → Region types. | |
| STREET | ||
| STREET_TYPE | All variants must be configured in Hydra beforehand: Master Data → Reference Data → Region types. | |
| HOUSE | These four columns collectively define the building:
| |
| BUILDING | ||
| CONSTRUCT | ||
| OWNERSHIP | ||
| ENTRANCE | ||
| FLOOR | ||
| FLAT | ||
| INTERCOM_CODE | ||
| CUSTOM_ADDRESS | ||
| REMARK |
ACCOUNTS — accounts of customers and basic subjects
Each customer must have at least one customer account in order to render services: an electronic wallet in the billing system, to which payments are credited and funds are debited for the provision of services.
| Column | Source of values | Description |
|---|---|---|
ID |
| |
CUSTOMER_ID | CUSTOMERS.ID |
|
ACCOUNT_NUMBER |
Should be unique. | |
ACCOUNT_TYPE_ID | ACCOUNT_TYPES.ID |
|
CURRENCY_ID | CURRENCIES.ID |
|
BANK_ID | BANKS.ID |
|
BALANCE |
A positive value indicates a deposit has been made, while a negative value indicates there is outstanding debt. | |
CREDIT |
Positive values only. | |
CREDIT_END_DATE |
| |
BALANCE_DATE |
The migrated closing balance will differ by the difference between PAYMENTS table and CHARGES table entries that occurred after the specified date. | |
| REMARK |
CONTRACTS — service agreements
Each customer must have at least one contract in order to render services.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID | |
| CONTRACT_NUMBER |
Should be unique. | |
| SIGNATURE_DATE | ||
| START_DATE |
This usually is the same as the date of signing. | |
| END_DATE |
For current contracts, this is usually not specified: the contract is valid indefinitely until terminated on purpose. | |
| REMARK |
EQUIPMENT — customer premises equipment (service providing points)
Customer equipment in Hydra is necessary for keeping the servicing address, CPE technical details, automatic provisioning and access control (AAA).
The necessity of certain technical requirements depends on the configured integrations with external services and hardware, i.e. the specifics of customer authorization and service access management.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID | |
| EQUIPMENT_TYPE_ID | EQUIPMENT_TYPES.ID | |
| PROVIDER_EQUIPMENT_ID | PROVIDER_EQUIPMENT.ID |
Leave blank if binding is not required. |
| PROVIDER_EQUIPMENT_PORT_CODE |
Leave blank if the CPE binding should be to the provider equipment itself, rather than to its component (port). | |
| PROVIDER_EQUIPMENT_PORT_TYPE |
Leave blank if the provider equipment components has unique codes. | |
| CODE | ||
| MAC |
Must be individual (unicast). You can specify multiple addresses by separating them with commas. | |
| IP |
You can specify multiple addresses by separating them with commas. | |
| IP6 |
You can specify multiple subnets by separating them with commas. | |
| PHONE |
You can specify multiple phone numbers by separating them with commas. | |
| VLAN | ||
| ADDRESS | The service providing street address in the format If some details are missing, leave only commas. For example: The house number can be supplemented with the corpus number:
| |
| ADDRESS_REMARK | Service providing street address remark
| |
| REMARK |
EQUIPMENT_COMMENTS — extended comments to customers premises equipment
Multipart notes to CPE (service providing points), categorized by type, will be available on the Comments tab of the customer equipment in Hydra.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| EQUIPMENT_ID | EQUIPMENT.ID | |
| COMMENT_TYPE_ID | COMMENT_TYPES.ID | |
| COMMENT_TEXT |
| |
| CREATED_DATE | ||
| REMINDER_DATE | ||
| EXECUTION_DATE |
EQUIPMENT_STREET_ADDRESSES — detailed street addresses of customer equipment
Extended version of assigning street addresses of different kinds (purposes) to customer equipment.
If one service street address in simplified format is sufficient, leave this table blank and use ADDRESS and ADDRESS_REMARK columns of the EQUIPMENT table instead.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| EQUIPMENT_ID | EQUIPMENT.ID |
|
| ADDRESS_PURPOSE_ID | STREET_ADDRESS_PURPOSES.ID |
|
| DISTRICT | ||
| CITY | ||
| CITY_TYPE |
All variants must be configured in Hydra beforehand: Master Data → Reference Data → Region types. | |
| STREET | ||
| STREET_TYPE | All variants must be configured in Hydra beforehand: Master Data → Reference Data → Region types. | |
| HOUSE | These four columns collectively define the building:
| |
| BUILDING | ||
| CONSTRUCT | ||
| OWNERSHIP | ||
| ENTRANCE | ||
| FLOOR | ||
| FLAT | ||
| INTERCOM_CODE | ||
| CUSTOM_ADDRESS | ||
| REMARK |
CUSTOMER_NET_SERVICE_BINDS — network services subscriptions with optional credentials
Leave the table blank if you do not want to provide customers with access to the customer portal, and no credentials (i.e. usernames and passwords) needed for Hydra to manage access to services.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| CUSTOMER_ID | CUSTOMERS.ID | |
| NETWORK_SERVICE_ID | NETWORK_SERVICES.ID | |
| EQUIPMENT_ID | EQUIPMENT.ID | Customer equipment identifier.
|
| LOGIN | Login (username). Must be unique within the network service (application).
| |
| PASSWORD | Password in plain text. In test exports, you can specify the same stub value for all of them for security reasons..
| |
| PASSWORD_HASH_TYPE | ||
| REMARK |
SUBSCRIPTIONS — customer subscriptions to recurrent services
Service subscription represents that the customer wants to get particular service for certain period of time, paying for this from a specific customer account and under a specific service contract.
It is sufficient to export only current and future subscriptions; charges history migration does not use these subscriptions.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| ACCOUNT_ID | ACCOUNTS.ID | |
| CONTRACT_ID | CONTRACTS.ID | |
| PRODUCT_ID | PRODUCTS.ID |
Only recurrent services can be subscribed to. |
| EQUIPMENT_ID | EQUIPMENT.ID | Customer equipment (i.e. service providing point) identifier.
|
| START_DATE | ||
| END_DATE | Subscription end date and time in DD.MM.YYYY HH24:MI:SS format, i.e. when the service should end.
| |
| QUANTITY | The quantity of the service ordered in the PRODUCTS.UNIT_ID unit of measurement. This is a multiplier for the price of the service. For example, to render two STBs rent fee at $20 each, set 2 as quantity and the subscription fee will then be 2 × $20 = $40.
| |
| BILLING_DATE | Fixed monthly billing date — a natural number from 1 to 28. For business subscribers it's usually 1, i.e. billing periods are strictly tied to calendar months.
| |
| REMARK |
CHARGES — charges history and current billing periods
Populating this table is not critical for migration, however, it is generally expected to contain at least the current billing periods for all customers subscriptions to services.
To migrate current charge logs properly, you must ensure that subscriptions to all current services are in the SUBSCRIPTIONS table: with appropriate validity period and with identical customer account, contract, product, and equipment.
If it is impossible to export this details, be sure to discuss options for initial charge logs issuing in Hydra with Hydra Team. By default, when running scheduled tasks after migration, Hydra will start providing services based on subscriptions from the current moment.
As a rule, it is sufficient to export charges history from the beginning of the current year in order to make financial reports from a single billing system. The charges history migrates “as is” in the form of archived charge logs, i.e. no historical price specifications and subscriptions required for this.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| ACCOUNT_ID | ACCOUNTS.ID | |
| CONTRACT_ID | CONTRACTS.ID | |
| CHARGE_DATE |
During migration, it will be matched with ACCOUNTS.BALANCE_DATE to determine the final balance of the customer account. As a rule, it's identical to either start or end date of the billing period, however may differ. Must be within the billing period. | |
| PRODUCT_ID | PRODUCTS.ID |
|
| EQUIPMENT_ID | EQUIPMENT.ID | Customer equipment identifier. For current billing periods, it must match the one specified for this service in SUBSCRIPTIONS.EQUIPMENT_ID.
|
| AMOUNT |
Negative values are only allowed for adjustments that increase the balance of the customer account, e.g. refunds. | |
| CHARGING_PERIOD_START_DATE |
The time part for regular recurrent services is usually 00:00:00, i.e. midnight. For instant one-time services and balance adjustments, this should be equal to CHARGE_DATE value. | |
| CHARGING_PERIOD_END_DATE | The time part for regular recurrent services is usually 23:59:59, i.e. the very last second of the day. For instant one-time services and balance adjustments, this should be equal to CHARGE_DATE value. | |
| QUANTITY | The quantity of the service rendered in the PRODUCTS.UNIT_ID unit of measurement, multiplied by 100.
| |
| REMARK |
PAYMENTS — payments history
As a rule, it is sufficient to export payment history from the beginning of the current year in order to make financial reports from a single billing system.
| Column | Source of values | Description |
|---|---|---|
| ID | ||
| ACCOUNT_ID | ACCOUNTS.ID | |
| BANK_ID | BANKS.ID | |
| TRANSACTION_DATE |
During migration, it will be matched with ACCOUNTS.BALANCE_DATE to determine the final balance of the customer account. | |
| PAYMENT_AMOUNT | ||
| PAYMENT_TYPE_ID | PAYMENT_TYPES.ID | Payment type identifier.
|
| REMARK |
