Batch Payroll using Bulla and a Gnosis Safe (rsk example)
We demonstrate batch payroll using RSK Safe - similar to Gnosis on other chains
A quick guide to batch payments in Bulla.
It is easy to load data into Bulla and get started managing recurring payments on-chain. There are a few steps to be taken to get started using a recurring batch. We assume you have a spreadsheet detailing what you want to do. If you do not, you can create a recurring batch payment by skipping the spreadsheet upload.
We assume you have a RSK Safe multi signature.
Spreadsheet and csv
Spreadsheet - requires Column Headers like above
First put data into a spreadsheet like below
(NB - Token addresses on RSK should be lowercase. If you enter token addresses with upper case, you will get errors)
Next download/export this spreadsheet to a csv file
Create a CSV file for upload into Bulla
Quick look at RSK Safe we are using
We are ready to import a batch payment into Bulla. But first, let’s take a glance at our RSK Safe.
I have set one up as below …
Our RSK Safe
You can see that my wallet 0x89e… is a signatory to this multi sig
You can set more owners but for this demo I kept owners to 0x89e…
Connecting Bulla Dashboard to RSK Safe using your signatory wallet
0x89e.. wallet loaded in browser, go to Bulla.network and get to Bulla Banker dashboard.
go to URL Bulla,network with injected Wallet
At the top of the dashboard, you can connect to the multisig wallet - We call it Gnosis - I know it is called RSK Safe ..
Now Bulla Banker is set to the multisig wallet 0x39F… as signatory 0x89e…
Create a new Batch from CSV
Top tells you that you are connected to a SAFE
We can now do a batch payroll as follows …
Pulldown the options on
Select schedule a payment
Each batch requires ‘starting data’ this data is used to form the batch, but if we upload a csv file, this data is overwritten
Select Import from CSV
Here you can select your csv file to upload
We load our csv file and we we get a message :
Upload complete - we can save to Bulla
After the save we should have the below:
If there is an error or we want to change RDOC or other items, we can edit in this panel.
We hit continue and create claims - and sign the transaction.
Confirm in signatory wallet .. in this case metamask
When the transactions are completed we should have the following in the Bulla dashboard
You can see our pending payables in the pending payables panel
What payment recipient sees when using emails
As we entered a few email addresses in our spreadsheet, people will be getting alerts that their wallet has a pending payable from our multi sig wallet 0x39F… These emails will be held in local storage and not posted to the blockchain. An example email is below:
In the above case, if the owner of wallet 0x5C33 clicks on View Payment, the browser attempts to open the bulla network URL for that claim a below :
OR - if they open Bulla,network with their wallet, they will see a pending receivable
What any wallet might see on our RSK Safe - as signatory or not
It is interesting to note that any signatory - or any wallet knowing the multisig wallet address could look at the dashboard for that multisig. Here I am wallet 0xBC4… looking at the multisig 0x39F…
Viewing a Multisig Wallet when NOT a Signatory
NB - it may take time for the front end to find the data on the logs but it will refresh over time ..
Transactions are loaded - let’s bundle and get signatories to confirm & execute batch
So, we are ready to batch pay payroll. To start a transaction batch of all pending payments we need to be a signatory wallet. Let’s load 0x89e.. And get started from the dashboard.
Connect to Gnosis Safe (RSK safe)
Connected to RSK Safe and ready to bundle payments
To bundle payments we must open each payment and add it to the bundle using the ‘+’ command.
Hit the + symbol to add to a bundle
When the bundle is finished, we can then send this bundled transaction to the RSK safe for all signatories to confirm and execute
We click on the + to add to bundle
We should see a message lower right of screen
X out of payment details and continue on to next payroll item … at the end we should have in the bundler 3 transactions
Next, we click on the transaction bundle to send off to the RSK safe
Looks like our multisend is correct .. we submit transaction
RSK Safe bundle transaction posted - time to confirm transaction & execute
Back in our RSK Safe, we should see a pending batch transaction
We open the transaction and as we are the only signer, we execute .. if there were more signatories .. each would need to sign the bundle - and the last one to sign would trigger an execution in gnosis, payments and an update to the bulla.
Our Safe should look like the below - after settling on the RSK Blockchain
Refreshed Bulla dashboard of RSK Safe - showing recent payments
If I refresh my Bulla Banker view for the RSK Safe I see
I have no pending payables but in my payments made view I should see
Each person to whom I have sent money - will see in their recent payments in their panel.
So for wallet 0x5C3 … on their dashboard, they will see a payment made.
Reusing a batch payment in Bulla
If I come to next month and payroll, I can select Batch payments …
This time - I have an existing old batch .. I can load this old batch by clicking on it.
When I hit continue, I can edit the details …
When I am finished, I continue, and these future payment claims are created in the Bulla and are ready to be bundled and paid.