The process: Add card credentials > save card details to submit to WePay for vault storage > WePay returns a unique token representing the member's payment details. Then when you initiate a batch process, VB sends the token to WePay with the amount to process.
The reason batch processing might fail and return a 1003 error code, would be because the proper card credentials were not sent to WePay for encoding to a token. Therefore, the VB database wouldn't have a WePay provided token for the member, which is required to do processing.
You can check whether or not member's cards are tokenized and validated by WePay ny viewing the Batch Processing page. Tokenized card data ready for batch processing will display a validated tag.