{"action":"created","issue":{"url":"https://api.github.com/repos/OCA/vertical-isp/issues/4","labels_url":"https://api.github.com/repos/OCA/vertical-isp/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/OCA/vertical-isp/issues/4/comments","events_url":"https://api.github.com/repos/OCA/vertical-isp/issues/4/events","html_url":"https://github.com/OCA/vertical-isp/pull/4","id":69133470,"number":4,"title":"Contract Invoicing Refactor","user":{"login":"veloutin","id":356233,"avatar_url":"https://avatars.githubusercontent.com/u/356233?v=3","gravatar_id":"","url":"https://api.github.com/users/veloutin","html_url":"https://github.com/veloutin","followers_url":"https://api.github.com/users/veloutin/followers","following_url":"https://api.github.com/users/veloutin/following{/other_user}","gists_url":"https://api.github.com/users/veloutin/gists{/gist_id}","starred_url":"https://api.github.com/users/veloutin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/veloutin/subscriptions","organizations_url":"https://api.github.com/users/veloutin/orgs","repos_url":"https://api.github.com/users/veloutin/repos","events_url":"https://api.github.com/users/veloutin/events{/privacy}","received_events_url":"https://api.github.com/users/veloutin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OCA/vertical-isp/labels/needs%20review","name":"needs review","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/OCA/vertical-isp/milestones/1","html_url":"https://github.com/OCA/vertical-isp/milestones/7.0","labels_url":"https://api.github.com/repos/OCA/vertical-isp/milestones/1/labels","id":1005832,"number":1,"title":"7.0","description":"","creator":{"login":"max3903","id":939952,"avatar_url":"https://avatars.githubusercontent.com/u/939952?v=3","gravatar_id":"","url":"https://api.github.com/users/max3903","html_url":"https://github.com/max3903","followers_url":"https://api.github.com/users/max3903/followers","following_url":"https://api.github.com/users/max3903/following{/other_user}","gists_url":"https://api.github.com/users/max3903/gists{/gist_id}","starred_url":"https://api.github.com/users/max3903/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/max3903/subscriptions","organizations_url":"https://api.github.com/users/max3903/orgs","repos_url":"https://api.github.com/users/max3903/repos","events_url":"https://api.github.com/users/max3903/events{/privacy}","received_events_url":"https://api.github.com/users/max3903/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":1,"state":"open","created_at":"2015-03-04T14:40:20Z","updated_at":"2015-04-17T12:58:51Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-04-17T12:53:32Z","updated_at":"2015-04-23T14:12:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/OCA/vertical-isp/pulls/4","html_url":"https://github.com/OCA/vertical-isp/pull/4","diff_url":"https://github.com/OCA/vertical-isp/pull/4.diff","patch_url":"https://github.com/OCA/vertical-isp/pull/4.patch"},"body":"I know this is a pretty big diff... this comes from many months of adjustments, bug fixes and refactoring to allow extending in a few places. Now, notable changes:\r\n\r\n* Tests! Tests! Tests!\r\n* Allow creating analytic lines and invoicing them in a single call (useful for external processes that don't want to fail mid-transaction)\r\n* Fix fencepost error on partial month billing/refunds: billing Feb 1-28 would give you 27 days, etc..\r\n* Use the same logic as account.invoice to compute initial voucher amounts, avoiding mismatches in tax rounding between the voucher and invoice.\r\n* Add a few hooks here and there for extending"},"comment":{"url":"https://api.github.com/repos/OCA/vertical-isp/issues/comments/95600227","html_url":"https://github.com/OCA/vertical-isp/pull/4#issuecomment-95600227","issue_url":"https://api.github.com/repos/OCA/vertical-isp/issues/4","id":95600227,"user":{"login":"coveralls","id":2354108,"avatar_url":"https://avatars.githubusercontent.com/u/2354108?v=3","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2015-04-23T14:12:39Z","updated_at":"2015-04-23T14:12:39Z","body":"\n[![Coverage Status](https://coveralls.io/builds/2405768/badge)](https://coveralls.io/builds/2405768)\n\nCoverage increased (+39.63%) to 60.83% when pulling **b5fe284bb089ebf5be46612fafab2b674d664bd9 on savoirfairelinux:7.0_invoice_refactoring** into **340bbfe0af7fe03853ea6c55f11f7115987d1629 on OCA:7.0**.\n"}}