- Add OUTPUT2 and EC Zero-rated income as valid tax types
- Add support for updating invoices
- Ass support for oauth_callback
- Bug fixes
- Fix issue with TrackingCategory#to_xml
- Improve handling of ApiExceptions
- Add support for new undocumented organisation attributes
- Bug fixes
- Bug fixes
- Add support for credit notes. Thanks to malclocke and wasabhi for their contributions
- Use bundler for dependency management
- Fix issue caused by Xero updating the Tracking Category XML structure
- Xero Api version 2.0
- This will be the final release before switching to the Xero API version 2.0
- Allow multiple tracking options per line item
- Auto-assign Contact#contact_id and Invoice#invoice_id on creation of either of these records.
- Add Xero::Gateway#build_contact and Xero::Gateway#build_invoice factory methods to create Contact/Invoice objects associated with the gateway.
- Add Contact#save method to create/update a contact record based on if it has a contact_id or contact_number.
- Add Invoice#save method to create (insert only currently supported by Xero API) the invoice.
- Add #valid? method to each model class to validate it’s contents with the minimum required by the API (without calling the API).
- Add useful API constants throughout the library.
- Allow Invoice and LineItem to auto-calculate line_amount, sub_total, total_tax and total fields. Existing setters for these fields remain (for backwards compatability) but will be deprecated in the future.
- Create XeroGateway::AccountList class to make working with the accounts response more powerful and faster (as it caches the last result).
- Add :updated_after parameter to XeroGateway::Gateway#get_contacts
- Add XeroGateway::Gateway#update_contacts
- Add XeroGateway::Gateway#create_invoices
- Major refactorings to DRY out gateway.rb
- Removed all messages classes in favour of invoice.to_xml and Invoice.from_xml(element)
- Added unit tests for the handing of errors from Xero
- Added implementation of GET /api.xro/1.0/tracking
- Added implementation of GET /api.xro/1.0/accounts
- Replaced Invoice.id, Contact.id etc with Invoice.invoice_id, Contact.contact_id to avoid Object.id errors
- Initial release, including:
- PUT /api.xro/1.0/contact
- GET /api.xro/1.0/contact
- GET /api.xro/1.0/contacts
- PUT /api.xro/1.0/invoice
- GET /api.xro/1.0/invoice
- GET /api.xro/1.0/invoices