Answers.Body: <p>Tommy,</p>
  
  <p>I think an extension is a good idea, but a quick glance at the aplos API and it looks like aplos wants each transaction mapped to an aplos contact id.  This seems like a lot of work that is not necessary.  My advice is to see if you can upload a batch at a time through CiviCRM export (maybe a custom search or report) and see how that works first. the effort level will be a lot less.  </p>
  
  <p>I don't know aplos, but many of the small accounting packages assume that they are the transaction system of record and need the contact id passed with each transaction - this appears to the case with aplos.  What you are asking is for a batch transfer with CiviCRM as the sub ledger and using Aplos as the general ledger.  This works fine with larger systems like Dynamics.  I don't see any aplos documentation on JE imports and my guess is that they have not implemented it yet.  </p>
  
  <p>it would be a great extension and many we get aplos to fund it (seems like a biz dev opportunity for Josh of the core team) </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T01:32:08.667Z
Answers.Text: Yes, Aplos does want a contact for each transaction (it will take either contact id or contact name). I think though that if you pass a Contact Name to the Aplos api and it doesn't exist it automatically creates a contact with that name. I use a generic "DEPOSIT" contact for all deposits.  Aplos is a very friendly company to work with. They are also much cheaper than Xero by about half.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T22:41:25.163Z
Answers.Text: I did confirm with Aplos the following:  If you do not pass a contact id, the system will attempt to find a matching contact. If nothing is found, a new contact will be created. This applies to contacts throughout the API.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-10T00:10:04.417Z
Answers.Text: Looking at the Accounting Batch a little more deeply it doesn't look like utilizing that would be the best option (or will it?). It doesn't allow one to specify accounting codes for the Batch so Aplos wouldn't know how to code the transaction. Neither would the extension be able to identify how to code it. But i still think, at least for our purposes, that getting the contributions into Aplos via a batch transaction rather than each one individually is best. So maybe have to create the "batch" via the extension and create the Aplos transaction as a split transaction.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-10T01:22:45.983Z
Answers.Text: You can added multiple accounting codes in a batch and  in the custom search/report.  I still recommend building the custom search/report first before going through creating an extension.  Take the small step first, learn, then once you have what you want create an extension if you think it will be a good generic solution. :)
Answers.UserDisplayName: pkeogan - BackOffice Thinking
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-10T02:16:47.830Z
Answers.Text: If I do an import of the contributions into Aplos it will import each line item as a separate transaction. That is not how we work. We deposit batches of items as a single deposit to the bank. Having each line item posted to Aplos would be a headache to reconcile. Also, the whole purpose of this is to automate things as much as possible. If the option to do an export from civi and then import to Aplos is where we're left then there's no point. It'd be easier to enter things manually rather than having multiple line items.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-10T02:25:04.520Z
Answers.Text: I agree, one batch JE import with summary by account/fund, not one line per transaction.  I do not see that Aplos can handle that with their API :)   CiviCRM can export it that way either manual or automated - we've done this with automated imports into Dynamics and Financial Edge.  If Aplos can take it CiviCRM can give it, no problem :)
Answers.UserDisplayName: pkeogan - BackOffice Thinking
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-10T02:42:11.407Z
Answers.Text: According to the api at https://www.aplos.com/api/calls/transactions#section_post it can handle multiple lines in a transaction.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T01:08:00.257Z
Answers.LastActivityDate: 2015-09-09T01:08:00.257Z
Answers.UserDisplayName: pkeogan - BackOffice Thinking
Answers.Body: <p>I suggest you look at the existing options for accounting package integration, including <a href="https://civicrm.stackexchange.com/users/396/eileen-mcnaughton">Eileen</a>'s <strong>CiviXero extension</strong> (<a href="https://github.com/eileenmcnaughton/nz.co.fuzion.civixero" rel="nofollow noreferrer">github</a>, <a href="https://civicrm.org/extensions/civixero" rel="nofollow noreferrer">description</a>).</p>
  
  <p>This will give you a concrete example of how accounting integration can be done, and possibly even a leg up implementing your own - yay open source! </p>
  
  <p>Don't forget to contribute your end results back to the community :)</p>
  
  <p>Another document worth reviewing is <a href="http://wiki.civicrm.org/confluence/display/CRM/Finance+and+Accounting" rel="nofollow noreferrer">this wiki page on Finance and Accounting</a>.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-08T23:54:27.293Z
Answers.Text: I'm not a programmer. I've reached out to several to inquire about a quote but wanted to have a discussion about this with the wider community so that whatever I did would be something that could be contributed back. Not getting much feedback or interest though. So it looks like I might just find some random bloke and piece something together that will work for me. I've looked at Eileen's Xero integration but to me it's overkill for what we need. That's why I'm trying to engage the community in this discussion to determine what will be best.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T02:18:52.950Z
Answers.Text: @frTommy - I received your request for a quote - but it was also clear that it had gone out to a wide range of shops, so I decided not to respond. Sending to a large number of folks often discourages high-quality shops from submitting a bid, because there's always an offshore company who will promise the moon for half of what we charge.  Consider approaching JMA or Fuzion directly, possibly AGH too - they're the top Civi accounting folks!
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T02:20:07.727Z
Answers.Text: Also, may I suggest widening the hiring pool from "bloke" to include *both* halves of the population? :)
Answers.UserDisplayName: Chris Burgess
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T02:25:44.237Z
Answers.Text: @JonG I sent the email to multiple companies/people from the CiviCRM professionals page. I went through the list and selected those companies that I thought were knowledgeable and reputable.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-09T02:31:17.250Z
Answers.Text: @ChrisBurgess No offense was meant by the use of bloke. I'm an equal opportunity guy. So far the only quote i've gotten has said between 10,000 to 15,000 and that seems outrageous to me. (is it?) I got a response from a couple of the ones you named but they either couldn't take it on right now or haven't gotten back to me after the initial contact. OH and the other one wanted $130 and hour just to talk about the project to decide if they'd do it.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-08T23:16:34.860Z
Answers.LastActivityDate: 2015-09-08T23:23:09.593Z
Answers.LastEditDate: 2017-04-13T12:53:13.167Z
Answers.UserDisplayName: Chris Burgess
Answers.Body: <p>Makes sense. Not sure if the total as a deposit transaction to Aplos is good enough, especially aif you want to register refunds. It might be worth posting each transaction in Aplos?</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-07T11:32:28.950Z
Answers.Text: Can you elaborate on why it might not be good enough? My thinking is that is how it will show up in the bank.  One deposit for the day and then I'd there is a refund it'd be a separate transaction.
Answers.UserDisplayName: frTommy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-07T11:35:55.933Z
Answers.Text: Not sure, I am no financial expert :-) Jus thought it would be easier to reconcile if I can spot each transaction in my financial system.
Answers.UserDisplayName: ErikH - CiviCooP
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-09-07T06:31:14.963Z
Answers.LastActivityDate: 2015-09-07T06:31:14.963Z
Answers.UserDisplayName: ErikH - CiviCooP
Body: <p>My church uses Aplos Accounting. It's a web-based accounting package aimed at non-profits (<a href="http://www.aplos.com" rel="nofollow">www.aplos.com</a>). They have recently implemented an api (<a href="http://www.aplos.com/api" rel="nofollow">www.aplos.com/api</a>). I am interested in doing some syncing from Civi to Aplos to automate some things. </p>
  
  <p>Our thoughts were to have an extension that implemented a scheduled job that would run daily and create a Civi accounting batch for the previous day. That batch would include all financial transactions that civiCRM processed that would be deposited into the bank account. </p>
  
  <p>That total would then be posted to Aplos as a Deposit transaction with the Civi Accounting batch ID located in the comments of the transaction. That way if there was ever any question we could cross reference between the two. </p>
  
  <p>Also, if a refund is processed through Civi then that would be posted as a Debit to Aplos with the Payee just being REFUND and in the comments it would notate the details.</p>
  
  <p>What are you thoughts on this and do you have suggestions?</p>
  
Tags: <civicontribute><api><accounting>
Title: What should be synced to an accounting package from civicrm?
ThreadText: # What should be synced to an accounting package from civicrm?
  
  (Asked by: username_0 on 2015-09-05)
  
  My church uses Aplos Accounting. It's a web-based accounting package aimed at non-profits ([www.aplos.com](http://www.aplos.com)). They have recently implemented an api ([www.aplos.com/api](http://www.aplos.com/api)). I am interested in doing some syncing from Civi to Aplos to automate some things.
  
  Our thoughts were to have an extension that implemented a scheduled job that would run daily and create a Civi accounting batch for the previous day. That batch would include all financial transactions that civiCRM processed that would be deposited into the bank account.
  
  That total would then be posted to Aplos as a Deposit transaction with the Civi Accounting batch ID located in the comments of the transaction. That way if there was ever any question we could cross reference between the two.
  
  Also, if a refund is processed through Civi then that would be posted as a Debit to Aplos with the Payee just being REFUND and in the comments it would notate the details.
  
  What are you thoughts on this and do you have suggestions?
  
  **Tags:** civicontribute, api, accounting
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2015-09-09. Score: 3 | Accepted answer
  
  Tommy,
  
  I think an extension is a good idea, but a quick glance at the aplos API and it looks like aplos wants each transaction mapped to an aplos contact id. This seems like a lot of work that is not necessary. My advice is to see if you can upload a batch at a time through CiviCRM export (maybe a custom search or report) and see how that works first. the effort level will be a lot less.
  
  I don't know aplos, but many of the small accounting packages assume that they are the transaction system of record and need the contact id passed with each transaction - this appears to the case with aplos. What you are asking is for a batch transfer with CiviCRM as the sub ledger and using Aplos as the general ledger. This works fine with larger systems like Dynamics. I don't see any aplos documentation on JE imports and my guess is that they have not implemented it yet.
  
  it would be a great extension and many we get aplos to fund it (seems like a biz dev opportunity for Josh of the core team)
  
  > **Comments:**
  > **username_0**: Yes, Aplos does want a contact for each transaction (it will take either contact id or contact name). I think though that if you pass a Contact Name to the Aplos api and it doesn't exist it automatically creates a contact with that name. I use a generic "DEPOSIT" contact for all deposits.  Aplos is a very friendly company to work with. They are also much cheaper than Xero by about half.  
  > **username_0**: I did confirm with Aplos the following:  If you do not pass a contact id, the system will attempt to find a matching contact. If nothing is found, a new contact will be created. This applies to contacts throughout the API.  
  > **username_0**: Looking at the Accounting Batch a little more deeply it doesn't look like utilizing that would be the best option (or will it?). It doesn't allow one to specify accounting codes for the Batch so Aplos wouldn't know how to code the transaction. Neither would the extension be able to identify how to code it. But i still think, at least for our purposes, that getting the contributions into Aplos via a batch transaction rather than each one individually is best. So maybe have to create the "batch" via the extension and create the Aplos transaction as a split transaction.  
  > **username_1**: You can added multiple accounting codes in a batch and  in the custom search/report.  I still recommend building the custom search/report first before going through creating an extension.  Take the small step first, learn, then once you have what you want create an extension if you think it will be a good generic solution. :)  
  > **username_0**: If I do an import of the contributions into Aplos it will import each line item as a separate transaction. That is not how we work. We deposit batches of items as a single deposit to the bank. Having each line item posted to Aplos would be a headache to reconcile. Also, the whole purpose of this is to automate things as much as possible. If the option to do an export from civi and then import to Aplos is where we're left then there's no point. It'd be easier to enter things manually rather than having multiple line items.  
  > **username_1**: I agree, one batch JE import with summary by account/fund, not one line per transaction.  I do not see that Aplos can handle that with their API :)   CiviCRM can export it that way either manual or automated - we've done this with automated imports into Dynamics and Financial Edge.  If Aplos can take it CiviCRM can give it, no problem :)  
  > **username_0**: According to the api at https://www.aplos.com/api/calls/transactions#section_post it can handle multiple lines in a transaction.  
  
  ---
  
  ### Answer by username_2 on 2015-09-08. Score: 0
  
  I suggest you look at the existing options for accounting package integration, including [Eileen](https://civicrm.stackexchange.com/users/396/eileen-mcnaughton)'s **CiviXero extension** ([github](https://github.com/eileenmcnaughton/nz.co.fuzion.civixero), [description](https://civicrm.org/extensions/civixero)).
  
  This will give you a concrete example of how accounting integration can be done, and possibly even a leg up implementing your own - yay open source!
  
  Don't forget to contribute your end results back to the community :)
  
  Another document worth reviewing is [this wiki page on Finance and Accounting](http://wiki.civicrm.org/confluence/display/CRM/Finance+and+Accounting).
  
  > **Comments:**
  > **username_0**: I'm not a programmer. I've reached out to several to inquire about a quote but wanted to have a discussion about this with the wider community so that whatever I did would be something that could be contributed back. Not getting much feedback or interest though. So it looks like I might just find some random bloke and piece something together that will work for me. I've looked at Eileen's Xero integration but to me it's overkill for what we need. That's why I'm trying to engage the community in this discussion to determine what will be best.  
  > **username_3**: @username_0 - I received your request for a quote - but it was also clear that it had gone out to a wide range of shops, so I decided not to respond. Sending to a large number of folks often discourages high-quality shops from submitting a bid, because there's always an offshore company who will promise the moon for half of what we charge.  Consider approaching JMA or Fuzion directly, possibly AGH too - they're the top Civi accounting folks!  
  > **username_2**: Also, may I suggest widening the hiring pool from "bloke" to include *both* halves of the population? :)  
  > **username_0**: @JonG I sent the email to multiple companies/people from the CiviCRM professionals page. I went through the list and selected those companies that I thought were knowledgeable and reputable.  
  > **username_0**: @ChrisBurgess No offense was meant by the use of bloke. I'm an equal opportunity guy. So far the only quote i've gotten has said between 10,000 to 15,000 and that seems outrageous to me. (is it?) I got a response from a couple of the ones you named but they either couldn't take it on right now or haven't gotten back to me after the initial contact. OH and the other one wanted $130 and hour just to talk about the project to decide if they'd do it.  
  
  ---
  
  ### Answer by username_4 on 2015-09-07. Score: 0
  
  Makes sense. Not sure if the total as a deposit transaction to Aplos is good enough, especially aif you want to register refunds. It might be worth posting each transaction in Aplos?
  
  > **Comments:**
  > **username_0**: Can you elaborate on why it might not be good enough? My thinking is that is how it will show up in the bank.  One deposit for the day and then I'd there is a refund it'd be a separate transaction.  
  > **username_4**: Not sure, I am no financial expert :-) Jus thought it would be easier to reconcile if I can spot each transaction in my financial system.  
  
  ---
  
  