Thanks for the reply. I've closed/re-opened Armory and will let it scan again, hopefully it picks up the coins on the second attempt.
With regards to the keys I didn't see any option is Armory to generate X number of keys?
My goal was to have each order on my website use a different address, so that it's easy to see when an order has been paid. I did not want to generate the keys on the webserver as this is apparently a security risk. So instead need to pre-generate all the keys, then each time an order comes in I random assign it to one of the unused addresses.
If i'd have done this in Armory instead of bitaddress, wouldn't I have had to click "Receive Bitcoins" 1000 or so times? and then no easy way to export just a list of the addresses (without keys), for in my case importing into a mysql database.
You're in Armory territory now, and you don't even realize it. This is exactly where Armory shines, if you are willing to consider a different route than you're taking right now. I will explain the "correct" way to do this, and if you don't like it, I will tell you how to do it the way you are trying to do it, but I think you'll find your way excessively inconvenient.
The key here is to use "watching-only wallets" which are copies of a regular Armory wallet that don't have the private keys. It generates the same infinite chain of addresses as the full wallet, but without the risk of an attacker getting the private keys if they compromise your webserver. And you can monitor the payments from multiple computers. It's really got all the convenience and security you can ask for... if you do it the Armory way.
(1) On any computer other than the webserver (preferably offline), create a new Armory wallet. No need to import any addresses.
(2) After creation
print a paper backup! It's the safest and most convenient way to backup your coins forever. Digital media can fail, and printing thousands of keys will be a disaster to have to reimport later.
(3) In wallet properties, click "Create watching-only wallet". (probably use USB key if offline)
(4) Transfer the watching-only wallet to webserver and if the original wallet is offline, also import the watching-only wallet into Armory on your online computer
(5) On the webserver, you can run a very simple script to generate as many addresses as you want, all protected by the paper backup, and without containing any private keys. Install or download&compile Armory on your webserver, then run this script every time you want a new address (you may have to modify paths appropraitely):
import sys
sys.path.append('/usr/share/armory') # change to whereever armory is
from armoryengine import *
watchingWallet = PyBtcWallet().readWalletFile('/path/to/your/watch/only.wallet')
print watchingWallet.getNextUnusedAddress().getAddrStr() # or do something other than print it
The beauty of this is that the moment someone sends money to any address that your webserver generates, you will see it in Armory on your primary computer (using either watching-only or full wallet). And if you keep the full wallet offline, you're about as secure as you can get. If you want to create addresses manually on some occasions outside the webserver, just create a new wallet on your primary computer and use that (or rather, create a second offline wallet and import that one only on your primary computer).
If you run a webstore, you absolutely should not be using online/web apps to generate addresses. There's too many ways for that to be compromised, especially when there are tools like Armory available. There's a JSON-RPC version of Armory (armoryd) available that will make this easier in the future, but it's not completely stable yet (crashes about once a week). I'll let you know when it is stable if you want it.
EDIT: Duh! If you want to access the Armory address chain through JSON-RPC, armoryd.py will work perfectly stable in offline mode (the instability comes from fighting with Bitcoin-Qt over the blk*.dat files when online). If you, or anyone else reading, wants to access Armory watching-only wallet addresses using JSON-RPC and don't need network connectivity, I will commit an armoryd.py that works in offline mode, shortly. It's basically already done, I just need to tweak it and test it.
EDIT 2: So apparently it already works. You just need to checkout the "testing" branch from the
github repo. On your webserver from the checkout directory:
$ sudo apt-get install git-core build-essential pyqt4-dev-tools swig libqtcore4 libqt4-dev python-qt4 python-dev python-twisted
$ git clone git://github.com/etotheipi/BitcoinArmory.git
$ cd BitcoinArmory
$ git checkout testing
$ make
$ python armoryd.py /path/to/watch/only.wallet --offline
Then setup your JSON-RPC process to use the username and password in /home/user/.armory/armoryd.conf (the file should have one line, "username:password").
Then you simply keep sending "getnewaddress" commands and you'll be receiving new addresses every time.