freeagent 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. data/CHANGELOG.rdoc +17 -0
  2. data/Gemfile.lock +12 -10
  3. data/README.rdoc +13 -1
  4. data/TODO +22 -0
  5. data/freeagent.gemspec +4 -3
  6. data/lib/free_agent.rb +1 -0
  7. data/lib/free_agent/base.rb +132 -0
  8. data/lib/free_agent/contact.rb +68 -0
  9. data/lib/free_agent/invoice.rb +58 -0
  10. data/lib/free_agent/project.rb +20 -0
  11. data/lib/free_agent/task.rb +10 -0
  12. data/lib/free_agent/version.rb +1 -1
  13. data/spec/fixtures/bank_accounts/all.xml +24 -19
  14. data/spec/fixtures/bank_accounts/single.xml +6 -6
  15. data/spec/fixtures/contacts/all.xml +13 -13
  16. data/spec/fixtures/contacts/all_filter_all.xml +69 -0
  17. data/spec/fixtures/contacts/invoices.xml +75 -0
  18. data/spec/fixtures/contacts/single.xml +6 -6
  19. data/spec/fixtures/estimates/all.xml +38 -0
  20. data/spec/fixtures/expenses/all.xml +93 -0
  21. data/spec/fixtures/expenses/single.xml +31 -0
  22. data/spec/fixtures/expenses/single_with_project_id.xml +31 -0
  23. data/spec/fixtures/invoices/all.xml +112 -75
  24. data/spec/fixtures/invoices/single.xml +38 -37
  25. data/spec/fixtures/projects/invoices.xml +39 -0
  26. data/spec/fixtures/projects/single.xml +2 -2
  27. data/spec/fixtures/projects/tasks.xml +30 -0
  28. data/spec/fixtures/projects/timeslips.xml +25 -0
  29. data/spec/fixtures/tasks/single.xml +10 -0
  30. data/spec/fixtures/timeslips/all.xml +25 -0
  31. data/spec/fixtures/timeslips/single.xml +12 -0
  32. data/spec/spec_helper.rb +1 -1
  33. data/spec/support/helper.rb +4 -4
  34. data/spec/support/mimic.rb +40 -25
  35. data/spec/unit/bank_account_spec.rb +1 -1
  36. data/spec/unit/base_spec.rb +113 -0
  37. data/spec/unit/contact_spec.rb +87 -1
  38. data/spec/unit/invoice_item_spec.rb +1 -1
  39. data/spec/unit/invoice_spec.rb +48 -2
  40. data/spec/unit/project_spec.rb +34 -0
  41. data/spec/unit/task_spec.rb +77 -0
  42. metadata +45 -7
@@ -0,0 +1,10 @@
1
+ module FreeAgent
2
+
3
+ # Represents a Task in FreeAgent.
4
+ class Task < Base
5
+
6
+ self.prefix = '/projects/:project_id/'
7
+
8
+ end
9
+
10
+ end
@@ -3,7 +3,7 @@ module FreeAgent
3
3
  # Holds information about library version.
4
4
  module Version
5
5
  MAJOR = 0
6
- MINOR = 1
6
+ MINOR = 2
7
7
  PATCH = 0
8
8
  BUILD = nil
9
9
 
@@ -1,35 +1,40 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <records type="array">
3
3
  <bank-account>
4
- <id type="integer">85327</id>
4
+ <id type="integer">86272</id>
5
5
  <type>StandardBankAccount</type>
6
6
  <name>Business Checking Account</name>
7
- <account-number>00000000</account-number>
8
- <sort-code>00000000</sort-code>
7
+ <account-number>0011223344</account-number>
8
+ <sort-code>112233</sort-code>
9
9
  <secondary-sort-code></secondary-sort-code>
10
10
  <iban></iban>
11
11
  <bic></bic>
12
- <current-balance type="decimal">5571.18</current-balance>
13
- <current-balance-date type="datetime">2011-04-04</current-balance-date>
14
- <opening-balance type="decimal">4733.42</opening-balance>
12
+ <current-balance type="decimal">1500.0</current-balance>
13
+ <current-balance-date type="datetime">2011-04-19</current-balance-date>
14
+ <opening-balance type="decimal">1500.0</opening-balance>
15
15
  <is-personal>false</is-personal>
16
16
  </bank-account>
17
17
  <bank-account>
18
- <id type="integer">85563</id>
19
- <type>CreditCardAccount</type>
20
- <name>Credit</name>
21
- <account-number>XXXX-XXXX-0000-0000</account-number>
22
- <current-balance type="decimal">1000.0</current-balance>
23
- <current-balance-date type="datetime">2011-04-12</current-balance-date>
24
- <opening-balance type="decimal">1000.0</opening-balance>
18
+ <id type="integer">86273</id>
19
+ <type>StandardBankAccount</type>
20
+ <name>Personal Checking Account</name>
21
+ <account-number>11220044</account-number>
22
+ <sort-code>112233</sort-code>
23
+ <secondary-sort-code></secondary-sort-code>
24
+ <iban></iban>
25
+ <bic></bic>
26
+ <current-balance type="decimal">500.0</current-balance>
27
+ <current-balance-date type="datetime">2011-04-19</current-balance-date>
28
+ <opening-balance type="decimal">500.0</opening-balance>
29
+ <is-personal>true</is-personal>
25
30
  </bank-account>
26
31
  <bank-account>
27
- <id type="integer">85564</id>
32
+ <id type="integer">86274</id>
28
33
  <type>PaypalAccount</type>
29
- <name>Example</name>
30
- <email>email@example.com</email>
31
- <current-balance type="decimal">1000.0</current-balance>
32
- <current-balance-date type="datetime">2011-04-12</current-balance-date>
33
- <opening-balance type="decimal">1000.0</opening-balance>
34
+ <name>PayPal</name>
35
+ <email>paypal@example.com</email>
36
+ <current-balance type="decimal">135.0</current-balance>
37
+ <current-balance-date type="datetime">2011-04-19</current-balance-date>
38
+ <opening-balance type="decimal">135.0</opening-balance>
34
39
  </bank-account>
35
40
  </records>
@@ -1,15 +1,15 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <bank-account>
3
- <id type="integer">85327</id>
3
+ <id type="integer">86272</id>
4
4
  <type>StandardBankAccount</type>
5
5
  <name>Business Checking Account</name>
6
- <account-number>00000000</account-number>
7
- <sort-code>00000000</sort-code>
6
+ <account-number>0011223344</account-number>
7
+ <sort-code>112233</sort-code>
8
8
  <secondary-sort-code></secondary-sort-code>
9
9
  <iban></iban>
10
10
  <bic></bic>
11
- <current-balance type="decimal">5571.18</current-balance>
12
- <current-balance-date type="datetime">2011-04-04</current-balance-date>
13
- <opening-balance type="decimal">4733.42</opening-balance>
11
+ <current-balance type="decimal">1500.0</current-balance>
12
+ <current-balance-date type="datetime">2011-04-19</current-balance-date>
13
+ <opening-balance type="decimal">1500.0</opening-balance>
14
14
  <is-personal>false</is-personal>
15
15
  </bank-account>
@@ -1,12 +1,12 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <contacts type="array">
3
3
  <contact>
4
- <id type="integer">433858</id>
5
- <organisation-name></organisation-name>
6
- <first-name>John</first-name>
7
- <last-name>Doe</last-name>
8
- <email>john@example.com</email>
9
- <billing-email></billing-email>
4
+ <id type="integer">447695</id>
5
+ <organisation-name>Fulp Corporation</organisation-name>
6
+ <first-name>Darren</first-name>
7
+ <last-name>Fulp</last-name>
8
+ <email>fulp@example.com</email>
9
+ <billing-email>billing@example.com</billing-email>
10
10
  <phone-number></phone-number>
11
11
  <address1></address1>
12
12
  <town></town>
@@ -15,7 +15,7 @@
15
15
  <address2></address2>
16
16
  <address3></address3>
17
17
  <contact-name-on-invoices type="boolean">true</contact-name-on-invoices>
18
- <country>Italy</country>
18
+ <country>United States</country>
19
19
  <sales-tax-registration-number></sales-tax-registration-number>
20
20
  <locale>en</locale>
21
21
  <mobile></mobile>
@@ -23,11 +23,11 @@
23
23
  <uses-contact-invoice-sequence type="boolean">false</uses-contact-invoice-sequence>
24
24
  </contact>
25
25
  <contact>
26
- <id type="integer">436186</id>
27
- <organisation-name>Wonderland</organisation-name>
28
- <first-name>Alice</first-name>
29
- <last-name></last-name>
30
- <email></email>
26
+ <id type="integer">447693</id>
27
+ <organisation-name>Robicheaux Inc</organisation-name>
28
+ <first-name>Julio</first-name>
29
+ <last-name>Robicheaux</last-name>
30
+ <email>julio.robicheaux@example.com</email>
31
31
  <billing-email></billing-email>
32
32
  <phone-number></phone-number>
33
33
  <address1></address1>
@@ -37,7 +37,7 @@
37
37
  <address2></address2>
38
38
  <address3></address3>
39
39
  <contact-name-on-invoices type="boolean">true</contact-name-on-invoices>
40
- <country>Italy</country>
40
+ <country>Japan</country>
41
41
  <sales-tax-registration-number></sales-tax-registration-number>
42
42
  <locale>en</locale>
43
43
  <mobile></mobile>
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <contacts type="array">
3
+ <contact>
4
+ <id type="integer">447695</id>
5
+ <organisation-name>Fulp Corporation</organisation-name>
6
+ <first-name>Darren</first-name>
7
+ <last-name>Fulp</last-name>
8
+ <email>fulp@example.com</email>
9
+ <billing-email>billing@example.com</billing-email>
10
+ <phone-number></phone-number>
11
+ <address1></address1>
12
+ <town></town>
13
+ <region></region>
14
+ <postcode></postcode>
15
+ <address2></address2>
16
+ <address3></address3>
17
+ <contact-name-on-invoices type="boolean">true</contact-name-on-invoices>
18
+ <country>United States</country>
19
+ <sales-tax-registration-number></sales-tax-registration-number>
20
+ <locale>en</locale>
21
+ <mobile></mobile>
22
+ <account-balance>0.0</account-balance>
23
+ <uses-contact-invoice-sequence type="boolean">false</uses-contact-invoice-sequence>
24
+ </contact>
25
+ <contact>
26
+ <id type="integer">447692</id>
27
+ <organisation-name></organisation-name>
28
+ <first-name>Max</first-name>
29
+ <last-name>Milbourne</last-name>
30
+ <email></email>
31
+ <billing-email></billing-email>
32
+ <phone-number></phone-number>
33
+ <address1></address1>
34
+ <town></town>
35
+ <region></region>
36
+ <postcode></postcode>
37
+ <address2></address2>
38
+ <address3></address3>
39
+ <contact-name-on-invoices type="boolean">true</contact-name-on-invoices>
40
+ <country>United States</country>
41
+ <sales-tax-registration-number></sales-tax-registration-number>
42
+ <locale>en</locale>
43
+ <mobile></mobile>
44
+ <account-balance>0.0</account-balance>
45
+ <uses-contact-invoice-sequence type="boolean">false</uses-contact-invoice-sequence>
46
+ </contact>
47
+ <contact>
48
+ <id type="integer">447693</id>
49
+ <organisation-name>Robicheaux Inc</organisation-name>
50
+ <first-name>Julio</first-name>
51
+ <last-name>Robicheaux</last-name>
52
+ <email>julio.robicheaux@example.com</email>
53
+ <billing-email></billing-email>
54
+ <phone-number></phone-number>
55
+ <address1></address1>
56
+ <town></town>
57
+ <region></region>
58
+ <postcode></postcode>
59
+ <address2></address2>
60
+ <address3></address3>
61
+ <contact-name-on-invoices type="boolean">true</contact-name-on-invoices>
62
+ <country>Japan</country>
63
+ <sales-tax-registration-number></sales-tax-registration-number>
64
+ <locale>en</locale>
65
+ <mobile></mobile>
66
+ <account-balance>0.0</account-balance>
67
+ <uses-contact-invoice-sequence type="boolean">false</uses-contact-invoice-sequence>
68
+ </contact>
69
+ </contacts>
@@ -0,0 +1,75 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <invoices type="array">
3
+ <invoice>
4
+ <id type="integer">2715138</id>
5
+ <company-id type="integer">47603</company-id>
6
+ <project-id type="integer"></project-id>
7
+ <contact-id type="integer">469012</contact-id>
8
+ <dated-on type="datetime">2011-05-23T00:00:00Z</dated-on>
9
+ <due-on type="datetime">2011-06-02T00:00:00Z</due-on>
10
+ <reference>003</reference>
11
+ <currency>USD</currency>
12
+ <exchange-rate>1.0</exchange-rate>
13
+ <net-value type="decimal">350.0</net-value>
14
+ <sales-tax-value type="decimal">0.0</sales-tax-value>
15
+ <second-sales-tax-value type="decimal">0.0</second-sales-tax-value>
16
+ <status>Open</status>
17
+ <comments></comments>
18
+ <discount-percent type="decimal"></discount-percent>
19
+ <po-reference></po-reference>
20
+ <omit-header type="boolean">false</omit-header>
21
+ <payment-terms-in-days type="integer">10</payment-terms-in-days>
22
+ <written-off-date type="datetime"></written-off-date>
23
+ <ec-status></ec-status>
24
+ <invoice-items type="array">
25
+ <invoice-item>
26
+ <id type="integer">3445689</id>
27
+ <description>Training session.</description>
28
+ <project-id type="integer" nil="true"></project-id>
29
+ <invoice-id type="integer">2715138</invoice-id>
30
+ <item-type>Training</item-type>
31
+ <price type="decimal">350.0</price>
32
+ <quantity type="decimal">1.0</quantity>
33
+ <sales-tax-rate type="decimal">0.0</sales-tax-rate>
34
+ <second-sales-tax-rate type="decimal">0.0</second-sales-tax-rate>
35
+ <nominal-code>001</nominal-code>
36
+ </invoice-item>
37
+ </invoice-items>
38
+ </invoice>
39
+ <invoice>
40
+ <id type="integer">2715142</id>
41
+ <company-id type="integer">47603</company-id>
42
+ <project-id type="integer"></project-id>
43
+ <contact-id type="integer">469012</contact-id>
44
+ <dated-on type="datetime">2011-05-23T00:00:00Z</dated-on>
45
+ <due-on type="datetime">2011-05-23T00:00:00Z</due-on>
46
+ <reference>004</reference>
47
+ <currency>USD</currency>
48
+ <exchange-rate>1.0</exchange-rate>
49
+ <net-value type="decimal">700.0</net-value>
50
+ <sales-tax-value type="decimal">0.0</sales-tax-value>
51
+ <second-sales-tax-value type="decimal">0.0</second-sales-tax-value>
52
+ <status>Paid</status>
53
+ <comments></comments>
54
+ <discount-percent type="decimal"></discount-percent>
55
+ <po-reference></po-reference>
56
+ <omit-header type="boolean">false</omit-header>
57
+ <payment-terms-in-days type="integer">0</payment-terms-in-days>
58
+ <written-off-date type="datetime"></written-off-date>
59
+ <ec-status></ec-status>
60
+ <invoice-items type="array">
61
+ <invoice-item>
62
+ <id type="integer">3445700</id>
63
+ <description>Training session.</description>
64
+ <project-id type="integer" nil="true"></project-id>
65
+ <invoice-id type="integer">2715142</invoice-id>
66
+ <item-type>Training</item-type>
67
+ <price type="decimal">350.0</price>
68
+ <quantity type="decimal">2.0</quantity>
69
+ <sales-tax-rate type="decimal">0.0</sales-tax-rate>
70
+ <second-sales-tax-rate type="decimal">0.0</second-sales-tax-rate>
71
+ <nominal-code>001</nominal-code>
72
+ </invoice-item>
73
+ </invoice-items>
74
+ </invoice>
75
+ </invoices>
@@ -1,10 +1,10 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <contact>
3
- <id type="integer">436186</id>
4
- <organisation-name>Wonderland</organisation-name>
5
- <first-name>Alice</first-name>
6
- <last-name></last-name>
7
- <email></email>
3
+ <id type="integer">447693</id>
4
+ <organisation-name>Robicheaux Inc</organisation-name>
5
+ <first-name>Julio</first-name>
6
+ <last-name>Robicheaux</last-name>
7
+ <email>julio.robicheaux@example.com</email>
8
8
  <billing-email></billing-email>
9
9
  <phone-number></phone-number>
10
10
  <address1></address1>
@@ -14,7 +14,7 @@
14
14
  <address2></address2>
15
15
  <address3></address3>
16
16
  <contact-name-on-invoices type="boolean">true</contact-name-on-invoices>
17
- <country>Italy</country>
17
+ <country>Japan</country>
18
18
  <sales-tax-registration-number></sales-tax-registration-number>
19
19
  <locale>en</locale>
20
20
  <mobile></mobile>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <estimates type="array">
3
+ <estimate>
4
+ <id type="integer">71632</id>
5
+ <project-id type="integer">116526</project-id>
6
+ <contact-id type="integer">436186</contact-id>
7
+ <invoice-id type="integer"></invoice-id>
8
+ <reference>001</reference>
9
+ <estimate-type>Proposal</estimate-type>
10
+ <dated-on type="datetime">2011-04-12T00:00:00+00:00</dated-on>
11
+ <status>Open</status>
12
+ <currency>USD</currency>
13
+ <net-value type="decimal">20.0</net-value>
14
+ <sales-tax-value type="decimal">0.0</sales-tax-value>
15
+ <client-contact-name></client-contact-name>
16
+ <notes>
17
+ <![CDATA[I suggest to change hosting.]]>
18
+ </notes>
19
+ <omit-header type="boolean">false</omit-header>
20
+ <created-at type="datetime">2011-04-12T20:52:18Z</created-at>
21
+ <updated-at type="datetime">2011-04-12T20:52:59Z</updated-at>
22
+ <ec-status></ec-status>
23
+ <estimate-items type="array">
24
+ <estimate-item>
25
+ <category-id type="integer">39986</category-id>
26
+ <description>Hosting selection.</description>
27
+ <estimate-id type="integer">71632</estimate-id>
28
+ <id type="integer">178108</id>
29
+ <item-type>Hours</item-type>
30
+ <price type="decimal">10.0</price>
31
+ <quantity type="decimal">2.0</quantity>
32
+ <sales-tax-rate type="decimal">0.0</sales-tax-rate>
33
+ <second-sales-tax-rate type="decimal">0.0</second-sales-tax-rate>
34
+ <stock-item-id type="integer" nil="true"></stock-item-id>
35
+ </estimate-item>
36
+ </estimate-items>
37
+ </estimate>
38
+ </estimates>
@@ -0,0 +1,93 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <expenses type="array">
3
+ <expense>
4
+ <id type="integer">536969</id>
5
+ <user-id type="integer">82948</user-id>
6
+ <expense-type>Miscellaneous</expense-type>
7
+ <dated-on type="date">2011-04-12T00:00:00Z</dated-on>
8
+ <gross-value type="decimal">-1000.0</gross-value>
9
+ <sales-tax-rate type="decimal">0.0</sales-tax-rate>
10
+ <second-sales-tax-rate type="decimal">0.0</second-sales-tax-rate>
11
+ <description>Holiday</description>
12
+ <depreciation-schedule>3 Years</depreciation-schedule>
13
+ <ec-status></ec-status>
14
+ <engine-size-index type="integer">1</engine-size-index>
15
+ <engine-type-index type="integer">0</engine-type-index>
16
+ <vehicle-type></vehicle-type>
17
+ <have-vat-receipt type="boolean">true</have-vat-receipt>
18
+ <initial-rate-mileage type="integer">0</initial-rate-mileage>
19
+ <manual-sales-tax-amount type="decimal">0.0</manual-sales-tax-amount>
20
+ <mileage type="integer"></mileage>
21
+ <project-id type="integer"></project-id>
22
+ <rebill-factor type="decimal">0.0</rebill-factor>
23
+ <rebill-mileage-rate type="decimal">0.4</rebill-mileage-rate>
24
+ <reclaim-mileage-rate type="decimal">0.4</reclaim-mileage-rate>
25
+ <rebill-type></rebill-type>
26
+ <rebilled-on-invoice-item-id type="integer"></rebilled-on-invoice-item-id>
27
+ <rebill-to-project-id type="integer"></rebill-to-project-id>
28
+ <receipt-reference></receipt-reference>
29
+ <recurring></recurring>
30
+ <recurring-end-date type="date"></recurring-end-date>
31
+ <updated-at type="datetime">2011-04-12T20:56:47Z</updated-at>
32
+ </expense>
33
+ <expense>
34
+ <id type="integer">536967</id>
35
+ <user-id type="integer">82948</user-id>
36
+ <expense-type>Mileage</expense-type>
37
+ <dated-on type="date">2011-04-12T00:00:00Z</dated-on>
38
+ <gross-value type="decimal">-4.0</gross-value>
39
+ <sales-tax-rate type="decimal">20.0</sales-tax-rate>
40
+ <second-sales-tax-rate type="decimal">0.0</second-sales-tax-rate>
41
+ <description>Meetings</description>
42
+ <depreciation-schedule>3 Years</depreciation-schedule>
43
+ <ec-status></ec-status>
44
+ <engine-size-index type="integer">1</engine-size-index>
45
+ <engine-type-index type="integer">0</engine-type-index>
46
+ <vehicle-type></vehicle-type>
47
+ <have-vat-receipt type="boolean">true</have-vat-receipt>
48
+ <initial-rate-mileage type="integer">10</initial-rate-mileage>
49
+ <manual-sales-tax-amount type="decimal">0.0</manual-sales-tax-amount>
50
+ <mileage type="integer">10</mileage>
51
+ <project-id type="integer">116526</project-id>
52
+ <rebill-factor type="decimal"></rebill-factor>
53
+ <rebill-mileage-rate type="decimal">0.4</rebill-mileage-rate>
54
+ <reclaim-mileage-rate type="decimal">0.4</reclaim-mileage-rate>
55
+ <rebill-type></rebill-type>
56
+ <rebilled-on-invoice-item-id type="integer"></rebilled-on-invoice-item-id>
57
+ <rebill-to-project-id type="integer"></rebill-to-project-id>
58
+ <receipt-reference></receipt-reference>
59
+ <recurring></recurring>
60
+ <recurring-end-date type="date"></recurring-end-date>
61
+ <updated-at type="datetime">2011-04-12T20:56:12Z</updated-at>
62
+ </expense>
63
+ <expense>
64
+ <id type="integer">536964</id>
65
+ <user-id type="integer">82948</user-id>
66
+ <expense-type>Meals</expense-type>
67
+ <dated-on type="date">2011-04-12T00:00:00Z</dated-on>
68
+ <gross-value type="decimal">-15.0</gross-value>
69
+ <sales-tax-rate type="decimal">0.0</sales-tax-rate>
70
+ <second-sales-tax-rate type="decimal">0.0</second-sales-tax-rate>
71
+ <description>Coffee cup.</description>
72
+ <depreciation-schedule>3 Years</depreciation-schedule>
73
+ <ec-status></ec-status>
74
+ <engine-size-index type="integer">1</engine-size-index>
75
+ <engine-type-index type="integer">0</engine-type-index>
76
+ <vehicle-type></vehicle-type>
77
+ <have-vat-receipt type="boolean">true</have-vat-receipt>
78
+ <initial-rate-mileage type="integer">0</initial-rate-mileage>
79
+ <manual-sales-tax-amount type="decimal">0.0</manual-sales-tax-amount>
80
+ <mileage type="integer"></mileage>
81
+ <project-id type="integer">116526</project-id>
82
+ <rebill-factor type="decimal"></rebill-factor>
83
+ <rebill-mileage-rate type="decimal">0.4</rebill-mileage-rate>
84
+ <reclaim-mileage-rate type="decimal">0.4</reclaim-mileage-rate>
85
+ <rebill-type></rebill-type>
86
+ <rebilled-on-invoice-item-id type="integer"></rebilled-on-invoice-item-id>
87
+ <rebill-to-project-id type="integer"></rebill-to-project-id>
88
+ <receipt-reference></receipt-reference>
89
+ <recurring></recurring>
90
+ <recurring-end-date type="date"></recurring-end-date>
91
+ <updated-at type="datetime">2011-04-12T20:55:00Z</updated-at>
92
+ </expense>
93
+ </expenses>