The purpose would be to fill-in most of the address for the user [...] We needed to stick to a strict format because two or more users could write the same address, for different houses in the same street, two or more different ways and it would still lead to the same location. Since we used the data for mapping-out locations on our map, which is also used by our wallet, app, shopping, exchanges and SMS services for authentication, it meant every address must follow a special format [...] Address name, postcode, locality, street, administrative level 1 (up to administrative level 5) country name, ISO code, and longitude & latitude.
As you can see, this is a pritty large amount of data to easily input, edit and get correct, for each user (especially the coordinates) which would obviously cause stressfulness to our users [...] The part which is normally incorrect, as you've pointed out (which is also visible on the script above) is the house number. All the user has to do, after clicking a button, would be to check if the No. Is correct. If it's not, they can simple adjust it (which is also visible if you tried the test) [...]
Since every address or coordinate is processed by Google, it would be as simple as finding an address using their map I.e. it would be able to correct 'typos,' and detect the correct house and No. 99% of the time [...]
The only time our testers had to change their No, was when they used a wireless connection, this meant they simply had to change their house No. to complete the process. This method allowed us to add a 1 or 2 step system (click and check house No.) which would obtain users address components using a strict format that is followed by everyone.