Salesforce to Xero Integrations are generally based off the Opportunity to create Invoices in Xero, but that is often not enough flexibility. 

Xero is weird. There is no concept of an account code (or contact code in their terms). They do have this weird URL link thing that you can put a URL directly to the Salesforce Account record, but that is just a one way link, and not an integration. 

If you send out invoices from Salesforce you could create the Contact in Xero as a concatenated string of Account Code + Account Name or similar, but that would go on the invoice if you are sending the invoices from Xero. 

Also think about do you need to sync contacts from Xero to Accounts in Salesforce. I would strongly caution against this - make Salesforce your single source of the truth. 

Also, do you need to sync everything to Xero. If you have a good enough record of all transactions in Salesforce, maybe manually doing a journal entry for daily transactions is enough. But accountants will not like this - I can guarantee it.  

Comparison

The comparison of Xero Integration tools was first done in 2014, and since then a LOT has changed. Breadwinner bought Dime, OneSaas completely rebuilt their product, and about 5 new integration products have been released. 

Beware that I've only updated the OneSaas notes as of Jan-2018. 

 

FeatureOneSaas
(Updated Jan-2018)

Breadwinner

(yet to be fully investigated)

ZapierInvoiceThisSFX
Automated(tick)(tick)(tick)(tick) Setup Requ(tick) Setup Req
Manual Button to Sync(error) (there is on in OneSaas, but not in SF)(tick)(error)(tick)(error)
Sync TimeOne Hour
15minsTwice Hourly at fastest, up to DailyN/A
Create an Invoice with one line item from an Opp with no Products(tick) Sort of (see mapping below)
(tick)(error)(error)
Automatically updates payment status(question)
(error)(tick)(tick)
Modify the Invoice if it has been updated in SF(tick)
(error)(tick)(tick) Until Authorised
Copy of the Invoice attached to the Opp(error)
(error)(tick) Button(tick) Button
Set the branding of the Invoice(error)
(error)(tick)(tick)
Set the reference on the Invoice(error)
(tick)(tick)(error)
Match the Contact or Create new(tick)
(tick) Email(tick) Configurable matching(error)
Choose how the Contact is created(tick) No good options
(tick) Formula(tick) Configurable to a point(error)
Update Salesforce with the Invoice Number and/or Status that it is sent.(error) Updates OneSaas only
(error)(tick)(tick)
Create your own Invoice Number(error)
(tick)(tick)(error)
Have Xero create the Invoice Number(tick)
(tick)(question) I think not(tick)
Set status to Authorized (note, must have mandatory fields).(tick)
(tick)(tick)(tick) button (auto did not work)
Create Xero Invoice from Custom Object(error)
(tick)(tick) with configuration(tick) with configuration
Use a field other than Amount to create Invoice (eg for deposit invoices)(error)
(tick)(tick) with configuration(tick) with configuration
Only create invoices based on Opp Record Type or similar(error) ALL Opps only
(tick)(tick) with configuration(tick) with configuration
Create invoices with different tax types? 


(tick)(tick)
Prevents duplicates if Opp is set to ClosedWon again?(question)
(tick) Set criteriaNANA
Logging or stats showing what has been transferred to Xero

(error) Only in OneSaas - not in SF.


(tick) BasicThere is some error logging it seems(error)
Can do customisations (paid)(error)
(error)(question)(question)
Multiple Integrations in the advertised fee(tick) But multiple SF's won't work
(tick)(error)(error)
Set the Due Date(tick) Offset
(tick) Field or Offset(tick)(tick)
Set Tracking Codes(error)
(tick) One only set on the Integration. Tracking Code can come from SF but must already exist in Xero(tick)(error)!!!!!!!!
Will create a tracking code option (error)
(error)(error)(error)
Multiple Tracking codes(error)
(error)(error)(error)
Can stop and start easily and sync missing data(tick)
(error)(error)(error)
Syncs all Invoices to Salesfirce(question)
(error)(tick)(error)
Set Account Codes(tick) all the same
(tick)(tick)(error)
Handles Payables and Receivables Invoices! (question)
(tick)(tick)(error)

Not included in this list: 

Case Study 1

Looking at the options for integrating Salesforce with Xero for an NFP. Mid sized NFP but with very limited budget. Large volume of shop transactions. Low volume of donations. The NFP is run by an Accountant who has always used MYOB, so using Xero will be enough of a challenge so I need to make the Salesforce to Xero part really seamless. They don't have a huge budget for this so as much as I'd like to say just use Breadwinner, I know it's probably not going to be an option. I know I can knock something quickly up in Zapier, but I need to investigate ALL the other options that are out there now to ensure we are going down the right path. 

Requirements

So really simple requirements. 

Process

(A lot easier than the completely manual process now where all website transactions are manually created in MYOB when the bank statement is downloaded from the bank each day, and marked off from a printout of transactions downloaded from the website, and cross referenced with a printed statement of the Eway transactions). 

Mapping

Salesforce (Custom Object)XeroNotesOne SaasInvoice ThisSFX
From Custom Object

(error) - big issue(tick) with configuration(tick) with configuration but I will have to check the VF override
StatusStatusApproved if Paid via Eway(error) Can only set to one status (tick)(tick)
Transaction DateInvoice Date
(tick)(tick)(tick)
Expected Banking Date 
(Transaction Date +2)
Due Date
(minus) Can only be a default value(tick)(tick)
Transaction TotalInvoice Total
(tick)(tick)(tick)
GST Included (checkbox)
formula to make Tax Type
Tax Type

"GST Included" or 

"GST Excluded"

(error) Can only be one type - not per item, unless using Salesforce Products(tick) from formula field(tick) from formula field
TotalLine Item Total
(tick)(tick)(tick)
RateRate
(tick)(tick)(tick)
QuantityQuantity
(error) - would have to build this into the Description(tick)(tick)
ProductLine Item Description
(tick) Would have to be a field updated by workflow to include all the data needed by Xero(tick)(tick)

Product (optional)
(tick) Can create products in Xero(error)(error)
Account Code
(formula based on Product Type)
Account CodeDifferent depending on what the product is (or Donation)(tick) Yes, nicely done based on what text is in the description(tick)(error)!!!!!!!!
GSTTax Amount
(error) Not possible PER transaction(tick)(tick)
Payment Method (eg Eway)

(tick) We would have to put it all in the description field(error)(error) in Description only
Contact DetailsContact Details

(tick) Can set ALL transactions to say "Online" customer

Or the Customer, or the Customer Organisation

(tick) with configuration(tick) with configuration
Tracking Code 1 (formula)

Tracking Code

Tracking Option

State is one of the Tracking Codes

(error)

(error)

(tick)


(tick)

(error)!!!!


(error)

Tracking Code 2 (formula)

Tracking Code

Tracking Option


(error)

(error)

(error)

(error)

(error)

(error)

Verdict

With no per-transcation Tax Codes and no Tracking Codes, it's just not doable. 
Plus we would have to move from a Custom Object to having everything in Opportunities and Products, and manually create the Products in Salesforce when they are created in the Website. 
I'm going to say a big NO! 
Yes it could definitely workNo Tracking Codes, could almost live without, but no Account Codes it's an absolute no, despite the great features of the eWay integration. 

Case Study 2

Small NFP client - mainly donations and a small shop. We are using Payments2Us for the payment gateway, so every payment is in Salesforce, and then we create an Opportunity for each payment. (Creating an Opp is important when using the Nonprofit Success Pack - NPSP as the roll up summaries of donors are pre-built in. But also think about not creating Opps (it's just extra data) and using Rollup Helper to create a few key rollups to the Account and Contact). 

We want the Opportunity to automatically create an invoice in Xero when it is set to the stage of ClosedWon (which is actually on create). We want the Opportunity to do the following field matching to Xero. 

OpportunityXeroNotesOneSaasZapierInvoice ThisSFX
From Opportunity

(tick)
(tick) with configuration(tick)

StatusAuthorised (as they are all donations that have been made)(tick) Can set as Authorised. 
(tick)(tick) but it did not work automatically
DateClosedInvoiceDate
(tick)(tick) Field(tick)(tick)
DateClosed+2DueDateOr Banked Date from P2U(minus) Only Date Offset(tick) Offset(tick)(tick)
AmountInvoice TotalINC GST(tick) Per Integration(minus)(tick)(tick)

Tax Type"GST Included"(tick) Per Integration (tick) Per Integration(tick)(tick)
AmountLine Item Total
(tick) Auto(tick) Field(tick)(tick)
AmountRate
(tick) Auto(minus)(tick)(tick)
QuantityQuantityUsually 1(error)(tick) Fixed(tick)(tick)
DescriptionLine Item Description
(tick) Description Field(tick) Field(tick)(tick)

AccountCodeDifferent depending on what the payment is for(tick) Can be different per line item (eg Based on description field)(tick) Per Integration(tick)(error)

Tax Amount
(tick) Per Integration(minus)(tick)(tick)

Tax Rate
(tick) Based on Tax Type(minus)(tick)(tick)
(formula field)Payment Method
(error)(minus)(error)(error)

Transaction Code
(tick) We would have to put it all in the description field
(tick) description(tick) description
(formula field)ReferenceDifferent depending on what the payment is for(error)(tick) Field(tick)(error) or on description
Account DetailsContact Details
(tick) Customisable, which is good(tick) Email Only(tick)(tick)

Tracking CodeThe name of the tracking code we are setting - eg Event(error)(tick) Formula (note - must exist in Xero)(tick)(error)
(formula field)Tracking OptionThe name of the tracking code option we are setting eg EventName(error)(tick) Formula(tick)(error)
Verdict

If it were only donations and only the one type of donations with all the same tax code, maybe, we could work around the limitations of OneSaas, but you know NFP's next week they will want to do events or a shop, and then your'e stuffed. So it would have to be a NO! Yes, doableYes, doableNot doable without Account Code!

We can't use OneSaas because Opps are used for a feature other than Invoices also, and OneSaas only syncs ALL or nothing. 

So, here's what I would suggest - Use Zapier! For all Transactions that don't need fiddling with - eg they are Payments that have been created in P2U, have been paid (or refunded) and created as an Opp, just use Zapier to create them. This will set the tracking code and these invoices will be created as Approved in Xero. This will cover 90% of the transactions. 

Case Study 3

Commercial org, low volume, high value transactions. Uses a Salesforce OEM App, so no Opportunities. Multiple transactions per customer. Low volume of customers, so they could potentially be stored in Xero. Potentail to also record purchases in Xero. Invoices currently sent from Xero but we want to move everything to Salesforce as the single source of truth. Really important for Sales Reps to know, and be notified when payments are received in Xero. Then Automate Receitpt to be sent from Salesforce. 

Even for the basics, I think Breadwinner is going to be the only option, but as we need Breadwinner Enterprise to create Invoices from a Custom Object, then we have the ability to do all sorts of things, even if it is later down the track. 

I can use InvoiceThis after looking at it further. I would really love to use SFX for this client but the no Account Code and no Tracking Code rules it out. Both InvoiceThis and SFX I can customise enough to create the Invoice record from the Custom Object. 

I will have to be very aware of a) the API Calls, b) the Setup and Configuration costs and c) the security model for InvoiceThis. 

Apps

Breadwinner 

I haven't yet done a full investigation of this product, but it definitely looks like the No. 1 option for Integrating Salesforce and Xero now. 

See the Demo Videos on their site https://breadwinnerhq.com/video-demo/ and I am sure you will find a reason that means that Breadwinner will work for you. And if it doesn't you've got two options - go down to Zapier and deal with the occasional failures and manual intervention or go up to a custom development with Trineo. 

OneSaas (thumbs down)

Australian product. 

http://onesaas.com

Does way more than SF to Xero. 

Basic app for AUD$49/month (to use Salesforce) which includes 1 accounting app and 5 eCommerce or CRM. But that still only gives you 600 transctions per month - that is not a lot. It's $12 per additional 500 transactions. Hourly sync. You need to go up to the Unlimited app for AUD$99 per month for unlimited transactions, and that includes unlimited connections also. It is not bad pricing. 

Easy to connect to Xero and Salesforce. 

Really limited setup structure.

Data has to go through OneSaas - doesn't use a direct connection. 

Huge limitation is that OneSaas will ONLY connect to Opportunities and Orders (orders is new since the last time I checked, so that might be an option for my Case Study 1). 

Here is the Salesforce to Xero help documents https://support.onesaas.com/hc/en-us/articles/115001162023-Salesforce-and-Xero-Integration-Guide

Salesforce to Xero

Invoices

Creating of Invoices in Xero starts off looking like it's quite customisable - but looks are deceiving, it's not actually very customisable at all. There are a few options for how to choose which Xero Statuses are set, which Customers are used and how Products are handled. 

There is a concept of a Paid sales invoice - not sure how that translates to Opportunities. Turns out it doesn't seem to at all. There is no concept of a "Paid" Opportunity, and there are no customisations allowed, so there is really no way of setting anything different for paid or unapaid opportunites as different statuses in Xero. 

Filtering

How on earth did I miss this first time around - see that tiny tiny funnel icon? 

You can filter Opportunties that come through from Salesforce to go through into Xero. 

But what are Tags and how do they get onto the Invoices in OneSaas? There is NO Documentation on this in their very very limited help system. 

NOTE: ALL opportunities are still retreived from Salesforce, it just filters what to send to Xero. 

Products can't be filtered! 

Tax

When it come to tax, things are again limiting. 

If you use Products then the product can determine whether tax is applied or not - this is quite straightforward. If you don't use products, then well, it is just very very weird. 

you get one variable for domestic and one varaible for foreign - nothing based on something that would be useful - like a custom TAX CODE field on the Opportunity. What are these variables? Well they are NOT varables at all. They are hard coded words "Salesforce Country Tax" and "Salesforce Foreign Tax", that become those selected Tax Codes in Xero. It seems you CAN change the wording of this in OneSaas but the funcationality would still be limited it seems.  

It seems that the Salesforce Country Tax or Foreign Tax is set based on the Country of the Account. I wonder in what sort of business you would have to be to have every transaction created for every Australian company as one tax rate and every transaction created for any company outsite of Australia as another tax rate - and absolutely no variation from that? I just had another client change their whole project management system becuase the invoices generated from it would not allow individual line items to be ex GST or inc GST, so they had issues when exporting and importing the invoices to their Accounting System. 

Daily Summary

OK, this is a nice option - you can post one transaction of a daily summary from Salesforce to Xero. This might be good IF a) you could guarantee that your payment gateway had exactly the same definition of day as OneSaas does, and b) there are NO other transactions entered into Salesforce at all other than transactions that go through your payment gateway. Not sure this would ever be a valid scenario. The Daily summary option is only avalable on the Unlimited Plan. 

Account Codes

Oh, finally some customisation. You can set a default Account Code OR you can define which Account Code is used based on some text in the Line Item. This is good! It works based on details entered in the Description field in the Salesforce Opportunity. Finally something good, and customisable!  

It creates these weird codes in OneSaas that you can't seem to change - well you can, but they would probably just be re-created. But it does get through to Xero fine. 

Customisations

NOTE: OneSaas does NOT support any customisations or any custom fields of any sort. See https://support.onesaas.com/hc/en-us/articles/115000983166-Preparing-your-CRM-system-for-integration. I don't know of ANY Salesforce implementation that I have done that has a standard Salesforce setup for Opportunities. Plus there is NO WAY to configure OneSaas to ONLY sync say Opportunties of RecordType. 

OneSaas have just started a Developer only service named Hub, so I wonder if that would be useful for customising how your integration works. 

Just to be clear here - with OneSaas having no customisations available and with the lack of the ability to filter any Opportunities. OneSaas is an ALL or NOTHING option. It means that EVERY Opportunity set as Closed Won in Salesforce must have the same

  • Invoice structure
  • Contact naming structure
  • Tax Rate (see notes below)

So, if you have some Invoices that are Inc GST and some that are Ex GST or some that need to go to one bank account and some that need to go to another bank account, you just can NOT use OneSaas. It is so disappointing that this product is so limiting.

There is the ability to have different line items go to different account codes, so that is useful at least. 

The good news is that there is apparently a lot more you can do with filtering if you use products. But for small NFP's, donations don't have products.

Xero to Salesforce

Mapping

(for Opps without products, Inc GST)

ObjectSFOneSaasXeroNotes
OppOpp records




Tags(used for filtering)Seems to be no way to set Tags in OneSaas from Salesforce

(error)Invoice Number Invoice #Still does not seem to be a way to send Invoice No. over from Salesforce

NameSummary-

Description

Notes

Line Item Description

Line Item Description



Line Item No. Automatic

CloseDateDate

Invoice Date




Date Offset (settings)Due Date

AmountAmount

Line Amount

Total Amount



(error)Shipping Method


(error)Purchase Order #

AccountAccount records

AccountTag to use for filtering

RecordType as tag 




Account NameOrganisation

Contact Name 

You can configure to send over Contact Names, but don't

Billing AddressBilling AddressPostal Address

Shipping AddressShipping AddressPhysical Address

(error)Home Address



Business Number



Customer Number



Currency



Notes

ContactContact records

ContactTag to use for filtering

RecordType as tag 




Full NameTitleContact Name

Salutation (Title)Salutation(error)

First NameFirst NamePrimary Person First Name

Last NameLast NamePrimary Person Last Name

PhonesPhones


EmailWork EmailPrimary Person Email

(error)Home Email(error)

The Good

The Bad

Recommendation

Workato

Workato is an interesting beast. I don't particularly like integration products for just integrating two apps, but if you have multiple apps, and you have a cluey data specalist who can set up and run your integrations, then it's definitely an option. The major advantage of Workato over Zapier is that it handles Updates - Zapier is very limited and only handles integrations on record creation. But the difference in pricing completely reflects that. 

Workato has an interesting pricing model - there is a Base App, for US$299/month and Xero is in the Base teir, but Salesforce is in the Professional tier so you need the US$599 per month option, and that puts it out of the range of many an NFP. Plus the additional cost of setting up the integration, plus you have to have someone montitoring the integrations to make sure that things are happening smoothly. 

https://www.workato.com/integrations/salesforce+xero/recipes 

These are all the triggers you get with Xero https://www.workato.com/integrations/xero 

Here's the triggers from Salesforce https://www.workato.com/integrations/salesforce so it's definitely cool that you can trigger a Workato workflow based on a record being deleted. And they now support platform events too! And any custom object and any custom field in Salesforce can be used for your sync. 

You can do so much with this product but each and every integration needs to be built by you and maintained by you. You can start with pre-built recipies but you always need to tweak them for your customisations.  So it's easy to go overboard and think of all the cool things you want to do, so just stick with the basics first. 

Some of the cool features of Workato is that you can do loops, branch off to antoher flows, do if / then statements and almost any workflow you can imagine. 

Here are the main receipies you will want to use:

So bottom line is, if you do under 500 invoices per month, and are just doing a straight Salesforce Opps to Xero two way sync, then Breadwinner is still cheaper, and it's basically plug and play. So there is no way you would get Workato if it was JUST basic Salesforce to Xero. 

But if you say have a basic Salesforce to Xero two way sync but it's from Custom Objects (like my Case Study 3 that uses an OEM app), then US$599 per month might be better than Breadwinner Enterprise - but talk to Breadwinner about your options on that one. 

Commercient Sync

https://www.commercient.com/product/sync-integration-for-xero-and-salesforce/#tab-id-1

https://appexchange.salesforce.com/listingDetail?listingId=a0N3A00000EOEDIUA5

Looks like I can't review this app, they won't talk to me, they will only talk to my client. Nope, as a professional Salesforce Consultant, it is my job to completely evaluate apps before I even consider mentioniing them to my clients. This is not a good sales strategy. 

I haven't installed this or looked into the full features yet, but there are a few points to note

So now I'm really interested in trying it out. The Quickbooks to Salesforce demo on YouTube looks really interesting - lots of data avaible. But you click Get It Now on the Appexchange and all it does is send them your details. Grrr. I just want to evaluate the app myself. 

Dime for CRM

Note: Dime for CRM is no longer, and all Dime implementations are moving to Breadwinner. See http://dimeforcrm.com/. Trineo are still doing the Dime for CRM Developer product and custom integrations. (just checking with them as I can't see the developer documentation anymore. I haven't heard back after a month, so I think we can say Dime is dead. Sad). 

Carry the One (thumbs down)

Look, I just can't bring myself to look at CarryTheOne again. It did not meet up to any expectations the first time I looked at it back in 2014 and looking at the website where they list "NEW!" features as at 12 June 2013, I'm assuming they haven't done much updating in the past few years. So I am going to make an executive decision and remove my comparisons of CarryTheOne. The notes below are from 2014 but I just updated the Australian pricing due to the exchange rates! 

UK Company. They mainly do e-commerce integrations. Could be good if you also need to integrate an E-commerce app - as extra integrations are cheaper. 

http://www.carrytheone.co.uk/xero-salesforce.html

The good

The bad and the ugly:

The weird

19.99GBP per month. AUD$43 - so comparable. However, this is only for one integration, and the very weird weird way it is set up, you would probably need to do multiple integrations, so it will become expensive very quickly. 

Zapier

I normally don't include Zapier when talking about integrations, but in this case it is interesting. In my testing this was the ONLY app that would do what I wanted in my Case Study above. 

Zapier starts from only US$25/month. 

SFX Connector

The website looks good

Another Australian company, based in Sydney. Riverdale Cloud

AU$39/month - so very good pricing. 

Setup and Configuration

Creating Invoices

Issues

Good Things

Overall

@Connect 

Appexchange Listing https://appexchange.salesforce.com/appxListingDetail?listingId=a0N30000000ps56EAA 

Atlas Consulting, Based in Sydney

No pricing on their website or Appexchange. Interesting review on the Appexchange. 

Works with Professional Edition which is interesting. 

Setup and Configuration

I give up. If you make your app this hard, it can't be for regular users to use, so I'm not going to even review it for regular users to use. Get a clue. Fix this ridiculousness! 

Invoice This

An app by Cause I Can / Clouding Around based in Melbourne. 

Their website says it's $89 per month but nothing to say if that's USD or AUD. But another appexchange listing says it's AUD $89/month. 

Can only create Invoices from Opps or Accounts - may not be flexible enough for my client. 

Very weird setup. First you have to install the package, then you have to install another package - the Xero Engine, it seems the other package is the bit that costs the $89 per month. This is really weird. Why would they do this? 

They seem to have good help docs, which is quite amazing as another ot their products has zero help documents. 

They handle Invoice Tracking Categories - good start! 

Their app is nice and lightning-ified. Good. 

Configuration and Setup

Not sure about the setup configuration options

Now, about syncing. Not sure this is going to work. It seems to sync ALL invoices from Xero to Salesforce (from a starting date). I definitely do NOT want all Invoices from Xero in Salesforce. See the help docs. This is a security issue. There are invoices in Xero that do NOT belong in Salesforce. You will need Private OWDs and Criteria Based Sharing rules. 

They install separate objects for Invoices and Invoice Line Items, which is good. Because then maybe I can extend these objects. However, when you use an app like Payments2Us, this may become a bit of overkill. You have a Payment Trx record to record the receipt of a $2 donation. You have an Opportunity record to record that donation against the Account and Contact, then you need an Invoice record just to get the data into Xero. I know it makes it easier for them, but why can't they just create the Xero Invoice from the Opp? It's also a shame that for a one line item invoice I need two records. So now we are up to 6 x 2KB and 1 x 1KB data storage to store a $2 donation. If you were at the point of paying for data storage, it would almost cost more to store the one transaction. (Records are PaymentTrx, Opp, Opp Contact Role (0kb), Campaign Member (1kb), NPSP Payment (Optional), Invoice, Invoice Line Item, Invoice Payment - add an extra 2kb for any additional Task created along with this - hint, use Chatter instead, and if there is an issue, there will be a Log record).

Hmm, they are using URL Hacks to pre-fill an Invoice - this is not good - why not use Actions - especially since their app is nicely lightning-ified already. And I will definitely want this bit automated anyway. 

Geez, don't you HATE apps that don't set up their apps correctly - eg Recently Viewed lists that only contain Invoice ID - and related List of Invoice Line Items on the Invoice that only contains Invoice Line Item ID. Have some respect for your clients and finish settting up the app. Grr. (Not only this app, many apps do it too, and it's even worse with Lightning Pages).

Sending Invoices to Xero

This might be a good app where you want Sales Reps to manually create Invoices and don't want to give them access to Xero, but the issue with ALL the Invoices syncing back into Salesforce kinda negates the security aspects of that. 

Now, there is a debate as to whether every donor's Account and Contact details should exist in Xero or not. My thoughts are no - they are in Salesforce, so you don't need to replicate them into Xero as then you have to keep them in sync. Your typical Accountant will say Xero is my domain, I want EVERYTHING in Xero, I don't want to touch Salesforce. But there can be a middle ground and unfortunately I think that accountants need to give up some of their control for the greater good here. Now, the way this app works, it probably actually works better to have all donor details synced. But I still don't want that, and it's doable by creating Paid Invoices only against a dummy account / contact named Donor, but it would be a bit of work to set it up. 

Issues

Good Things

Overall

See also

My blog post on integrations. 

http://thedetaildept.com.au/2013/09/15/integrations-are-the-new-black/