- Monevator - https://monevator.com -

How to automatically donate share dividends to charity

Here’s an elegant way to donate money from share dividends to charity in perpetuity, from Monevator reader Reza [1]. With this guest article neither Reza nor we at Monevator are saying this is the best way for everybody to donate money to charity. But we do love the thinking behind the ‘donation machine’ concept. Over to Reza…

While reading American Psycho [2] by Bret Easton Ellis, I took a break due to how grim it is. During my break, I began to look into homeless statistics and came across the Crisis [3] website.

Crisis is a charity that directly helps homeless people find a home. It also campaigns for changes to solve homelessness altogether.

After browsing through the Crisis site and learning more, I spotted its investor page [4]. This introduced me to the concept of Social Return on Investment (SROI).

My understanding of SROI is that by donating money, you are making an investment in society that yields dividends and/or savings through a compounding effect.

Crisis and other charities conduct research to provide estimates on the value that a donation makes.

For each £1 you invest, Crisis estimates an impressive SROI of £3.30.

The return on investment here comes from helping people to find homes and providing them with the support they need. This makes it more likely an individual will escape from their homeless circumstances and that ultimately they will start to pay taxes.

Conceiving a ‘machine’ to donate share dividends to charity

It all got me thinking of stocks and shares investments in relation to charities. 

I soon hit upon the idea of a set of shares that are dedicated to perpetually creating money for charity. That was something I found very appealing.

How do shares generate money?

When you buy shares you are buying a piece of a business. Some of these businesses distribute cash to shareholders in the form of dividends [5].

Dividends are typically paid out periodically – usually a few times a year.

Although not all companies distribute dividends, many do.

It’s also important to know that the dividend payout can fluctuate, just like the share price.

Why make a ‘machine’ to donate money?

I believe my idea to automatically donate share dividends to charity could appeal to other Monevator readers for a few reasons.

The machine perpetually generates money

The key benefit is that once you have created your set-up to donate dividends to charity, in theory it should generate money indefinitely.

Share prices go up and down, but British companies are pretty good at paying out increasing dividends over the long-term.

A good way to take advantage of this is through a low-cost ETF [6] that sports a good dividend yield.

When you invest in an ETF, you are buying into a group of companies. For example, if you bought a FTSE 100 ETF, you would be buying a slice of every company in the FTSE 100.

With an ETF you do not rely on a single company to dish out the dividends. Your risk and expected dividends come from many different businesses.

You can build up the machine over time

To make your machine more powerful, you simply add more cash to it.

By periodically adding money and buying more shares, the dividend payout should increase over time. This will mean more cash to donate to charity.

You still have a lump sum if you need it

With my approach, you retain control of your lump sum in a broker’s account. You can call upon this if things go really bad and you need cash.

However, let’s stay positive and go with the plan of never needing to touch it. Hopefully it will continue generating cash for donation for a long while.

The donation machine should grow by itself

Share prices and dividends, in aggregate, have in the past increased over time. So we should find that our machine gets more valuable and generates more cash as the years go by.

Building the core of the machine

Here are the steps involved to get this project off the ground:

1. Open a cheap brokerage account [7] (just for charity donations)
2. Deposit cash into the account
3. Purchase some shares (I chose Vanguard ETFs)
4. Set dividends to be paid to a bank as soon as they arrive
5. Bank transfer that cash over to your chosen charity

My results: One year on

It’s just over a year since I set up my own donation machine.

Although I haven’t yet got everything automated and I’m still involved in the process, it otherwise looks to have been a success.

My chosen ETFs have increased in value by around 12%. And the machine has generated just over £30 in dividends to donate to charity.

The cash from dividends was moved from the brokerage to a bank account and from there I transferred it to Crisis.

If we plug £30 into Crisis’ SROI calculation (£30 * 3.3) it equates to a £99 impact from the donation machine in its first year of operation.

Okay, humble beginnings, but not a bad start. As dividend growth kicks in and I add more funds to the pot, my machine should deliver a larger round of dividends in year two.

Hopefully it will continue to grow from there!

Towards a truly automated donation machine

Currently my donation process is manual.

I take a look at the brokerage account occasionally and check if any cash has been generated. If cash is available I move it to my current account and then I do a bank transfer to the charity.

So the outline of a perpetual donation machine is there. But the implementation is not.

However I have a clear idea of how I can completely automate the entire process.

Here’s what I need to do to assemble a truly automatic solution.

Parts required

In order to automate this, a few things are going to be needed. Namely a broker, a bank account, and of course the charity you wish to donate to.

My bank of choice is Starling. The primary reason for this is that Starling offers something called an Application Programming Interface (API).

With this API, Starling provides a toolkit [8] that enables you to write computer programs that interact with your bank account

Other banks do offer APIs, but where Starling really stands out is that it allows you to make payments – to existing recipients – by using the API.

My broker will be Vanguard Investor and the account would be an ISA.

The key reason for choosing a Vanguard ISA – other than those previously covered [9] by Monevator – is that Vanguard allows dividends to be automatically transferred to a bank account as soon as they are paid.

To find this, look under My profile > Product > Edit > Distribution and then Dividends options.

Surprisingly, this is not a ‘flick of the switch’ option on all brokers.

From my own research, it appears to be completely absent in the AJ Bell YouInvest control panel, for example.

Lloyds and Halifax do have quite flexible automatic payout options – quarterly, annually, or as soon as dividends are paid – but it appears cash can only be automatically paid out if you have a bank account with them.

Finally, you need a charity. My choice for now as I said is Crisis.

I sent a short email to Crisis explaining that I would like to donate by bank transfer. It promptly replied with the details required: account name, number, and sort code.

I am sure other charities would respond the same way.


Now we have all the ‘parts’ needed, the next step is putting them together.

The first step is to link the current account with the brokerage account and confirm that it enables both withdrawals and deposits from the current account.

Next, transfer some cash into the brokerage and purchase a fund that distributes dividends.

Set the ‘Distribution and dividends’ option to ‘Pay to My Bank Account’, so as soon as dividends are paid they leave the broker for the bank.

Moving over to the current account, the charity would need to be added as a payment recipient in order that payments can be made.

This setup now allows for dividends to be automatically paid into a new bank account periodically.

All that’s left is to automatically pay the charity when cash is available.

Things now becomes slightly more complex. I will need to write a small computer program that interacts with the Starling bank API balance and payment endpoints.

I won’t go into the nitty-gritty as it’s more important to convey the process itself.

The program needs to:

1) Check if there is cash in the bank account
2) If you do have cash then transfer it to the charity
3) Send a notification that the donation has occurred

Below is some top-level pseudo code – in reality the program would be perhaps a few hundred lines long – showing how it may look.

If balance > 0:
    donation_amount = balance
    make_payment(charity_account, donation_amount)

This program will need to be carefully tested to check it’s working correctly. Once it looks good, scheduling the program to run daily on a server would be the last step.

With all that done, we would have an automated system that creates and donates money to charity. Wonderful!

A taxing matter

When I discussed this idea with The Investor, one topic he raised was tax relief and how to go about claiming Gift Aid [10].

This was not something I had considered, but it shouldn’t be a problem.

With Gift Aid, a charity gets an extra 25p for every £1 you have donated (or that it raises from selling your donations).

Making a Gift Aid declaration for the charity to claim with our donation machine could be quite straightforward.

If you’ve ever brought things into a charity shop to donate, you will already be familiar with the routine: “Would you like to do a Gift Aid declaration?”

Doing so takes barely a minute.

Handling Gift Aid could be be a snap in the automated program, too.

You may notice a line in my code above saying:


The idea behind that is to let the charity know you have made a donation with a bank transfer. You could include a Gift Aid confirmation here.

Next steps and final thoughts

There may be other brokers out there offering greater dividend payment flexibility so that the program and/or bank account stages are not needed.

However I have not personally come across one.

I’m hoping to write the automation program in the near future. When I do so I will make the code publicly available.

In the meantime, the businesses in my donation machine’s ETFs are busy ticking away producing the next batch of dividends.

This system provides me with some much-needed structure around the way donations are made.

There is now no question about how much and when to donate to charity because all that is determined by the dividends. It’s also something I look forward to building on.

And of course it’s rewarding to see the cash generated by the dividends being sent towards good causes!

Any comments about this way to donate share dividends to charity are very welcome. Hopefully I can incorporate any suggested improvements in the future.

The Investor again! I love this idea. It may seem a slightly complex way to donate share dividends to charity, but I believe the idea of growing a donation machine over time will appeal to others with the ‘snowball’ mentality, too. The idea of putting more money into my own donation machine whenever I have spare cash and then seeing it grow in earnings power and impact over the years hits the spot for me. As Reza says, the cash is still there if you need it – so unless and until then you could potentially put more money towards charity than you otherwise would with a one-off contribution. You could also end up with a chunky final bequest for your favorite good cause! Please be gentle with our guest author, but otherwise let us know what you think in the comments below.