diff --git a/src/moneyed/classes.py b/src/moneyed/classes.py
index <HASH>..<HASH> 100644
--- a/src/moneyed/classes.py
+++ b/src/moneyed/classes.py
@@ -97,6 +97,10 @@ class Money(object):
             currency=self.currency)
 
     def __add__(self, other):
+        if other == 0:
+            # This allows things like 'sum' to work on list of Money instances,
+            # just like list of Decimal.
+            return self
         if not isinstance(other, Money):
             raise TypeError('Cannot add or subtract a ' +
                             'Money and non-Money instance.')
diff --git a/src/moneyed/test_moneyed_classes.py b/src/moneyed/test_moneyed_classes.py
index <HASH>..<HASH> 100644
--- a/src/moneyed/test_moneyed_classes.py
+++ b/src/moneyed/test_moneyed_classes.py
@@ -234,3 +234,8 @@ class TestMoney:
         assert abs(x) == abs_money
         y = Money(amount=1, currency=self.USD)
         assert abs(x) == abs_money
+
+    def test_sum(self):
+        assert (sum([Money(amount=1, currency=self.USD),
+                     Money(amount=2, currency=self.USD)]) ==
+                Money(amount=3, currency=self.USD))
Made it much easier to use Money instances with 'sum' builtin.

It also makes it much easier to do certain kind of calculations where you
start with a zero value (of 'any' currency), and build from there.