Creating Transfer Transaction via API

TeruTeru Member Posts: 5

I'm able to create regular transaction via API. However, when I insert a transfer, it returns an error 'This value is invalid'.
Here is an example of inputMoneyTransactionCreate:

{
     "businessId":"ID",
     "externalId":"1234",
     "date":"2019-10-27",
     "description":"Transfer PayPal to Bank",
     "anchor":{
          "accountId":"PayPal AccountID",
          "amount":1261.64,
          "direction":"WITHDRAWAL"
     },
     "lineItems":[{
          "accountId":"Bank AccountID",
          "amount":1261.64,
          "balance":"DEBIT",
          "taxes":[]
     }]
}

Here is the response:

{
     "path":null,
     "code":"UNKNOWN",
     "message":"This value is invalid."
}

Comments

  • AlexLAlexL Member Posts: 2,869 ✭✭✭

    Hey @Teru . As some of these technical support API requests are a little bit over our head as regular support agents, I'd encourage you to reach out in a ticket through the form linked below, and someone from our API team should be able to get back to you directly. Thanks :)

    https://developer.waveapps.com/hc/en-us/requests/new

  • PaulCPaulC Member Posts: 186 ✭✭✭

    Hi @Teru,

    Thanks for posting this. It's a great question.

    If you have performed a transfer directly inside Wave, you'll know that what the system does is create two transactions: money leaving the 'from' account, and money arriving in the 'to' account. Under the hood, these transactions actually post value to, then withdraw value from, a hidden 'transfer clearing account' for the individual transfer.

    Right now, we are not able to provide for transfers via the API, although this will become possible towards the middle of next year after some changes on how transfers are created within Wave itself. In the meantime, however, you can achieve a transfer in the same way that Wave does, by creating two transactions.

    Here are the steps:

    1. Create a Transfer Clearing Account in the Other Short-term Assets sub-category.
    2. Archive the account you just created. This will prevent it from appearing in categorization drop-down lists, but you can still post transactions to it.
    3. Create your first transaction: WITHDRAW from Paypal and DEBIT (or INCREASE) Transfer Clearing.
    4. Create your second transaction: DEPOSIT to Bank, and CREDIT (or DECREASE) Transfer Clearing.

    Some notes:

    1. There are APIs for Create and Archive accounts.
    2. Creating and archiving the Transfer Clearing Account is a one-time task; you will use the same account for all transfers.
    3. After each Transfer (pair of Transactions), Transfer Clearing will be at Zero.
    4. It is helpful - but not essential - that your Transfer Clearing Account is in the same currency as the two accounts that you are transferring between. This makes it easier to understand what is happening if you view the Account Transactions, but is otherwise not important.
    5. What is essential is that - should you be transferring between accounts whose currency is different to that of the Transfer Clearing Account, you date both transactions the same; otherwise currency differences will creep in and your Transfer Clearing Account may frail to reduce to zero.

    Hope that helps, Paul

Sign In or Register to comment.