procedure to Bulk Import call costs to 3cx

Status
Not open for further replies.

Dilip

Forum User
Joined
Dec 14, 2017
Messages
21
Reaction score
2
Team,

I have rate sheet from our carrier with 81000 destination rates with Prefix need to upload these rates to 3cx call costs I am not able to find option bulk update

Could someone provide the steps for the bulk update I searched 3cx forum no information available on this 3cx call cost rate update
 
Hi,

Try exporting the one 3CX already contains.

Using your own means, match our list with your provider's and transfer over the values.

Import the list back into 3CX.
 
John,

When I tried to export the existing 3cx destination prefix it downloaded as Xml file and it is difficult manually edit the 81000 destination via xml and upload

is there way to update the destinations and rates to the 3cx call costs by Csv or excel format
 
  • Like
Reactions: big3
Hi Dilip,

It's a bit more complicated than simply updating it like you describe, since there is no standardized format, 3CX cannot be aware of what formatting each provider may use and each one will have their own structure or some may provide extra billing reports from their own portal.

So your best bet would be to use for example a customized Excel formula/script to match one format with the other and convert/transfer the data, as well as add extra entries if needed. The fact that 3CX provides it in XML may make it easier for various commercial Data Conversion tools that may exist out there since you will always have some standard fields on the 3CX side at least.

PS: Excel does support reading XML
 
+1 for this, I've also tried to create the XML schema myself, but it just hungs when I try to upload it back (you can find a bit of the huge file - 8 MB - at the bottom of the post).

Moreover:
  • I would need 5 decimals since our provider uses 5 decimals (es: $ 0.13508)
  • it would be nice to have the ability to use different costs for differents trunks (different providers have different costs)
  • It would be nice to have the ability to change the billing time (some providers bill the cost per minute, some per second), per different trunks
  • It would be nice to have the ability to add a connection charge, per different trunks
  • It would be nice to have the ability to setup a different currency for different trunks as some providers charge in dollars, some in euros, etc
Only with these options the billing feature would make any sense for our office environment, the current setup seems more designed for hotel customers billing

XML:
<?xml version="1.0" encoding="utf-8"?>
<TenantProperties>
  <TenantProperty>
    <name>BILL_0000</name>
    <description></description>
    <type>String</type>
    <value n="default" p="default" r="1.0" />
  </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile AWCC </name>
        <type>String</type>
        <value n="Afghanistan Mobile AWCC " p="009371" r="0.13508"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile Etisalat </name>
        <type>String</type>
        <value n="Afghanistan Mobile Etisalat " p="009373" r="0.09917"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile Etisalat </name>
        <type>String</type>
        <value n="Afghanistan Mobile Etisalat " p="009378" r="0.09917"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile MTN </name>
        <type>String</type>
        <value n="Afghanistan Mobile MTN " p="009376" r="0.12845"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile MTN </name>
        <type>String</type>
        <value n="Afghanistan Mobile MTN " p="009377" r="0.12845"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile Roshan </name>
        <type>String</type>
        <value n="Afghanistan Mobile Roshan " p="009372" r="0.1053"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile Roshan </name>
        <type>String</type>
        <value n="Afghanistan Mobile Roshan " p="009379" r="0.1053"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile </name>
        <type>String</type>
        <value n="Afghanistan Mobile " p="009374" r="0.10278"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan Mobile </name>
        <type>String</type>
        <value n="Afghanistan Mobile " p="009375" r="0.10278"/>
    </TenantProperty>
    <TenantProperty>
        <name>Afghanistan </name>
        <type>String</type>
        <value n="Afghanistan " p="0093" r="0.14609"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521160" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521161" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521250" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521340" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521440" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="003552155" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521650" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521651" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521740" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="0035521741" r="0.1261"/>
    </TenantProperty>
    <TenantProperty>
        <name>Albania Fixed AMC </name>
        <type>String</type>
        <value n="Albania Fixed AMC " p="003552185" r="0.1261"/>
    </TenantProperty>
 
To be fair, if you need more advanced features than the basic call cost, it might be a better idea to use your own billing software and pull CDR data from 3CX in real time so you can then control everything from your own software.
 
  • Like
Reactions: big3
That's what we do, they were just improvement suggestions :)
 
  • Like
Reactions: JohnS_3CX
Status
Not open for further replies.

Forum statistics

Threads
111,954
Messages
589,921
Members
164,851
Latest member
DrunkeMeister