Pokemon Bank is a separate downloadable application that was introduced shortly after Pokemon X and Y was released. As the name implies, it allows players to store up to 3000 Pokemon in an online repository at a cost of $4.99 annual fee (US and Canada) and download the stored Pokemon to their current-gen Pokemon titles (X/Y, OR/AS). For first-time users, the application will prompt you to purchase a Pass (good for 1 year) before you can use the service. The number of days the service is active will be displayed as well.
Before launching the Pokemon Bank application, you need to have the Pokemon X, Y, OR, or AS cart in your 3DS. The application will then read the contents of the cart and will connect to the internet after that. Upon successful connection, players should be able to move the Pokemon from their box up to the online server. Players can withdraw and deposit Pokemon through the Pokemon Bank as if it was an extended PC.
Before transferring, the Bank prompts players to remove their Pokemon's items so the new Mega Stones won't cause any compatibility concerns. While players can store ANY Pokemon from any version, Pokemon with new moves can't be downloaded to Pokemon X & Y. Cosplay Pikachu cannot be transferred as well.
If you want to transfer their Pokemon from their Pokemon White/Black/White 2/Black 2 cart can only do it via Poke Transporter application. You can only do one-way transfer from the cart to the online server. Once the Pokemon are in the server, you can freely move it to any of the current-gen Pokemon titles. Since all items are returned before transferring you must make sure that your bag is not full when the items are returned; otherwise they'll be gone forever.