Friday, June 02, 2006

MYOB and CBA have colluded uncompetitively

For 18 years now, I have used and loved the accounting package MYOB (Mind Your Own Business), and in the last two years have used their so-called M-Powered services. These pay-per-use services allowed our business to accept payment methods such as BPAY, @Post billpay etc., with the supplied software generating the required numbers. However, to use this service, we essentially were forced to open up merchant services with the CBA (Commonwealth Bank of Australia) for the virtual EFTPOS terminal which does the back end clearance of funds. Now this would be all well and good if the CBA charged at about the market rate. They don't - their fees are well above the rates I got offered by another bank for doing the back end stuff. The problem is, the absolute most basic things that MYOB software would have to do to make it easy to change banks, they refuse. They have intellectual property rights on the generation of the check digit generation code they use for the Customer reference numbers, so they cannot be used with any other bank. Basically, the software company and the bank are colluding to keep their charges higher than the market would dictate. One thing that I hate more than being ripped off is anti-competitive behaviour. I would recommend people to avoid M-Powered services, and arrange biller BPAY services directly with the bank, and find ways to enbed Customer Reference numbers within each customer's details with whatever accounting software is available. After several days of effort I am finding ways around this fortress, and can generate my own CRN's and sooner or later I can tell MYOB and CBA to stick it, and perhaps help others to do the same.

Update September 06 - They have improved slightly their (CBA) fees which is already a help, especially for large payments. However, MYOB fees of $2.00 per transaction is still highway robbery given that we are talking essentially about electronic transactions. Any non-electronic aspects of these transactions are extremely minimal. The fact is, that reducing these per-transaction fees, they would actually make more money because businesses would more readily join this fairly easy to set up and maintain process. A level of about $1.00 per transaction may even get me back to actually praising MYOB again, and consider using this service also.


Dr. Clam said...

Hurrah! It is too early in the morning for me to really understand what it is that the software and banking highwaymen are doing wrong, but I am glad that you are finding a workaround. Well done! The heroic small businessman, driver of innovation and foundation of our prosperity, comes through again!

Marco said...

The workaround is more technically interesting than the alleged crime. It involved using Leuhrer's Modulus 10 algorithm in an EXCEL macro to generate CRN's with check digits - exporting card details and re-importing them with the coded numbers into suitable fields. This is stuff that MYOB software people should be offering to do for the user (and charge for) not a proprietary pay-per-use facility that forces you to deal with a particular bank and accept their fees whatever they may be. They didn't make clear anywhere along the line until the very end that both the biller numbers and the CRN's that I print on my invoices were their property.

Jenny said...

Thanks Marco, this is very valuable information to me. I work for a small company that uses MYOB and we have just got our accounts up and running so we can pay other companies online (long story that involved multiple signatures and much mailing of stuff).

The next logical step would be to allow customers to pay us by bill pay (they already can do direct bank transfers, but no numbery things occur). In the short term your little "the commonwealth bank sucks" blog will result in me persuading my boss to flee from the idea, as I am not programming literate and wouldn't trust that I hadn't screwed up MYOB by playing with stuff.

Still, the cheques are interesting particularly the bank cheques from India.

Marco said...

I recommend for the moment to add in a how to pay section at the bottom of all invoices, even if it is direct deposit instructions, physical address, mailing address, who to make out the cheque to, full amount next to the invoice number. It is amazing how much cash flow it generates just by having all the options on the invoice. I feel EFTPOS facilities are the next most important ones.

Dave said...

And of course, if you have reasonable suspicion of collusion, or at least of unfair business practises (and your fears do appear somewhat justified), you have recourse to the proper authorities, who are paid to watch out for this kind of malarkey.

Dave said...

Of course, that link should be this, but bloody Blogger isn't smart enough to assume the http tag

Anonymous said...

Interesting article.
out of curiosity, did you ever find out what algorithm MYOB uses for their checksum?

Marco said...

Nope, and it is protected by intellectual property rights.

Anonymous said...

Check Digit Calculation Example – Using Modulus 10 Version 1 (Mod10v01)

The BP@Y file specifications refer to the 'Start Left' rule as being the starting point of where the weighting is applied. That is that the calculation will either start from the right hand side and work left, or from the left hand side and work right. The indicator being a ‘Y’ or ‘N’ determines this. In the case of the Mod10v01 (Luhns Modulus 10), the Start Left indicator is 'N', which means you will start from the right most digit, (see below diagram).

Using Weights Array 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02

To calculate the check digit Rules Example
a) Create the Customer Reference Number, (CRN). 123456
b) Separate the CRN into individual digits. 1 2 3 4 5 6
c) Mod10v01 indicates Start Left as ‘N’ (No).
Therefore weighting will be applied from Right to Left starting with 02*. 01 02 01 02 01 02

* See diagram above
d) Multiply the CRN individual digits by the weighting value. 1x01=1 2x02=4 3x01=3 4x02=8 5x01=5 6x02=12
e) Mod10v01 indicates Add Digits as ‘Y’ (Yes).
Therefore if the multiplying in d) results in a double-digit number being produced, then add the two digits together. 1 4 3 8 5 1+2 = 3
f) Add all the new values together. 1 + 4 + 3 + 8 + 5 + 3 = 24
g) Divide this value by 10. 24 / 10 = 2 remainder 4
h) To produce the check digit, subtract the remainder, created in g), from 10. 10 – 4 = 6
Check Digit is 6
Note: where the remainder calculated within g) is 0, then the check digit is 0.
i) Place the check digit at the end of the original CRN.

Anna hussy said...
This comment has been removed by the author.
Crainy said...

MYOB are the worst company I have ever dealt with.
I used to be a proffessional partner but could not tolerate their BS any longer.
There is no way past their proprietary algorithm. I would recommend moving away from MYOB.