Invoices Payments Filter

Personas in this Story: Default, RegularManager, FinancialManager, Client.

Response: HTTP 200, application/json (Hide)
POST /users

Payload:

1
2
3
4
5
6
7
8
9
10
{
    "type": "Member",
    "email": "regular-manager@activecollab.com",
    "password": "123",
    "company_id": 1,
    "custom_permissions": [
        "can_manage_projects",
        "can_manage_settings"
    ]
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
    "single": {
        "id": 2,
        "class": "Member",
        "url_path": "\/users\/2",
        "is_archived": false,
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "created_on": 1430165069,
        "created_by_id": 1,
        "updated_on": 1430165069,
        "updated_by_id": 1,
        "language_id": 0,
        "first_name": "Regular-manager",
        "last_name": null,
        "display_name": "regular-manager",
        "short_display_name": "regular-manager",
        "email": "regular-manager@activecollab.com",
        "additional_email_addresses": [],
        "is_pending_activation": false,
        "avatar_url": "http:\/\/feather.dev\/proxy.php?proxy=avatar&module=system&v=current&b=DEV&user_id=2&size=--SIZE--&timestamp=1430165069",
        "custom_permissions": [
            "can_manage_settings",
            "can_manage_projects"
        ],
        "company_id": 1,
        "title": null,
        "phone": null,
        "im_type": null,
        "im_handle": null,
        "note": null
    }
}
Response: HTTP 200, application/json (Hide)
POST /users

Payload:

1
2
3
4
5
6
7
8
9
{
    "type": "Member",
    "email": "financial-manager@activecollab.com",
    "password": "123",
    "company_id": 1,
    "custom_permissions": [
        "can_manage_finances"
    ]
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
    "single": {
        "id": 3,
        "class": "Member",
        "url_path": "\/users\/3",
        "is_archived": false,
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "created_on": 1430165069,
        "created_by_id": 1,
        "updated_on": 1430165069,
        "updated_by_id": 1,
        "language_id": 0,
        "first_name": "Financial-manager",
        "last_name": null,
        "display_name": "financial-manager",
        "short_display_name": "financial-manager",
        "email": "financial-manager@activecollab.com",
        "additional_email_addresses": [],
        "is_pending_activation": false,
        "avatar_url": "http:\/\/feather.dev\/proxy.php?proxy=avatar&module=system&v=current&b=DEV&user_id=3&size=--SIZE--&timestamp=1430165069",
        "custom_permissions": [
            "can_manage_finances"
        ],
        "company_id": 1,
        "title": null,
        "phone": null,
        "im_type": null,
        "im_handle": null,
        "note": null
    }
}
Response: HTTP 200, application/json (Hide)
POST /users

Payload:

1
2
3
4
5
6
{
    "type": "Client",
    "email": "client@activecollab.com",
    "password": "123",
    "company_id": 2
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "single": {
        "id": 4,
        "class": "Client",
        "url_path": "\/users\/4",
        "is_archived": false,
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "created_on": 1430165070,
        "created_by_id": 1,
        "updated_on": 1430165070,
        "updated_by_id": 1,
        "language_id": 0,
        "first_name": "Client",
        "last_name": null,
        "display_name": "client",
        "short_display_name": "client",
        "email": "client@activecollab.com",
        "additional_email_addresses": [],
        "is_pending_activation": false,
        "avatar_url": "http:\/\/feather.dev\/proxy.php?proxy=avatar&module=system&v=current&b=DEV&user_id=4&size=--SIZE--&timestamp=1430165070",
        "custom_permissions": [],
        "company_id": 2,
        "title": null,
        "phone": null,
        "im_type": null,
        "im_handle": null,
        "note": null
    }
}

For the purpose of this test, we have created three client companies:

Response: HTTP 200, application/json (Hide)
GET /companies

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[
    {
        "id": 1,
        "class": "Company",
        "url_path": "\/companies\/1",
        "name": "Owner Company",
        "members": [
            1,
            2,
            3
        ],
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "is_archived": false,
        "created_on": 1430165067,
        "created_by_id": 1,
        "updated_on": 1430165067,
        "updated_by_id": 1,
        "address": null,
        "phone": null,
        "homepage_url": null,
        "tax_id": null,
        "currency_id": null,
        "is_owner": true,
        "has_note": false
    },
    {
        "id": 2,
        "class": "Company",
        "url_path": "\/companies\/2",
        "name": "First Client",
        "members": [
            4
        ],
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "is_archived": false,
        "created_on": 1430165070,
        "created_by_id": 1,
        "updated_on": 1430165070,
        "updated_by_id": 1,
        "address": "Street Name 12\nCity",
        "phone": null,
        "homepage_url": null,
        "tax_id": null,
        "currency_id": 1,
        "is_owner": false,
        "has_note": false
    },
    {
        "id": 3,
        "class": "Company",
        "url_path": "\/companies\/3",
        "name": "Second Client",
        "members": [],
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "is_archived": false,
        "created_on": 1430165070,
        "created_by_id": 1,
        "updated_on": 1430165070,
        "updated_by_id": 1,
        "address": "Street Name 12\nCity",
        "phone": null,
        "homepage_url": null,
        "tax_id": null,
        "currency_id": 1,
        "is_owner": false,
        "has_note": false
    },
    {
        "id": 4,
        "class": "Company",
        "url_path": "\/companies\/4",
        "name": "Third Client",
        "members": [],
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "is_archived": false,
        "created_on": 1430165071,
        "created_by_id": 1,
        "updated_on": 1430165071,
        "updated_by_id": 1,
        "address": "Street Name 12\nCity",
        "phone": null,
        "homepage_url": null,
        "tax_id": null,
        "currency_id": 1,
        "is_owner": false,
        "has_note": false
    }
]

and two projects:

Response: HTTP 200, application/json (Hide)
GET /projects

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[
    {
        "id": 2,
        "class": "Project",
        "url_path": "\/projects\/2",
        "name": "Second Client Project",
        "completed_on": null,
        "completed_by_id": null,
        "is_completed": false,
        "members": [
            1
        ],
        "category_id": 0,
        "label_id": 0,
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "created_on": 1430165071,
        "created_by_id": 1,
        "updated_on": 1430165071,
        "updated_by_id": 1,
        "body": null,
        "body_formatted": "",
        "company_id": 3,
        "leader_id": 1,
        "currency_id": 1,
        "template_id": 0,
        "based_on_type": null,
        "based_on_id": null,
        "email": "notifications+m2p-JMXVYgn@mail.manageprojects.com",
        "is_tracking_enabled": true,
        "is_client_reporting_enabled": false,
        "budget": null,
        "count_tasks": 0,
        "count_discussions": 0,
        "count_files": 0,
        "count_notes": 0
    },
    {
        "id": 1,
        "class": "Project",
        "url_path": "\/projects\/1",
        "name": "First Client Project",
        "completed_on": null,
        "completed_by_id": null,
        "is_completed": false,
        "members": [
            1
        ],
        "category_id": 0,
        "label_id": 0,
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "created_on": 1430165070,
        "created_by_id": 1,
        "updated_on": 1430165070,
        "updated_by_id": 1,
        "body": null,
        "body_formatted": "",
        "company_id": 2,
        "leader_id": 1,
        "currency_id": 1,
        "template_id": 0,
        "based_on_type": null,
        "based_on_id": null,
        "email": "notifications+m2p-RAfNAII@mail.manageprojects.com",
        "is_tracking_enabled": true,
        "is_client_reporting_enabled": false,
        "budget": null,
        "count_tasks": 0,
        "count_discussions": 0,
        "count_files": 0,
        "count_notes": 0
    }
]

Lets create a couple of invoices:

Response: HTTP 200, application/json (Hide)
POST /invoices

Payload:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "company_id": 2,
    "project_id": 1,
    "number": "1\/2014",
    "items": [
        {
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25
        },
        {
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1
        },
        {
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25
        }
    ],
    "private_note": "Client will not be able to see this"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
    "single": {
        "id": 1,
        "class": "Invoice",
        "url_path": "\/invoices\/1",
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "company_id": 2,
        "company_name": "First Client",
        "company_address": "Street Name 12\nCity",
        "note": null,
        "currency_id": 1,
        "language_id": 0,
        "discount_rate": 0,
        "subtotal": 6125,
        "subtotal_without_discount": 6125,
        "discount": 0,
        "tax": 568.75,
        "rounding_difference": 0,
        "rounded_total": 6693.75,
        "total": 6693.75,
        "paid_amount": 0,
        "balance_due": 6693.75,
        "recipients": null,
        "email_from": null,
        "email_subject": null,
        "email_body": null,
        "second_tax_is_enabled": false,
        "second_tax_is_compound": false,
        "created_on": 1430165071,
        "created_by_id": 1,
        "updated_on": 1430165071,
        "based_on_type": null,
        "based_on_id": null,
        "number": "1\/2014",
        "project_id": 1,
        "purchase_order_number": null,
        "issued_on": 1430165071,
        "due_on": 1430165071,
        "allow_payments": 1,
        "closed_on": null,
        "sent_on": null,
        "hash": "GlMigxfXWCObusMK7TfM00NtssZAwL8HmeOKjAJ6",
        "status": "issued",
        "public_url": "http:\/\/feather.dev\/s\/invoice?hash=GlMigxfXWCObusMK7TfM00NtssZAwL8HmeOKjAJ6&number=1%2F2014",
        "is_credit_invoice": false
    },
    "reminders": [],
    "items": [
        {
            "id": 1,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/1",
            "parent_type": "Invoice",
            "parent_id": 1,
            "discount_rate": 0,
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 2500,
            "subtotal_without_discount": 2500,
            "discount": 0,
            "total": 2500,
            "position": 1,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 2,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/2",
            "parent_type": "Invoice",
            "parent_id": 1,
            "discount_rate": 0,
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1,
            "first_tax_value": 568.75,
            "first_tax_name": "VAT",
            "first_tax_rate": 17.5,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 3250,
            "subtotal_without_discount": 3250,
            "discount": 0,
            "total": 3818.75,
            "position": 2,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 3,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/3",
            "parent_type": "Invoice",
            "parent_id": 1,
            "discount_rate": 0,
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 375,
            "subtotal_without_discount": 375,
            "discount": 0,
            "total": 375,
            "position": 3,
            "time_record_ids": [],
            "expense_ids": []
        }
    ],
    "time_records": [],
    "expenses": [],
    "payments": []
}
Response: HTTP 200, application/json (Hide)
POST /invoices

Payload:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
    "company_id": 2,
    "number": "2\/2014",
    "items": [
        {
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25
        },
        {
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1
        },
        {
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25
        }
    ],
    "private_note": "Client will not be able to see this"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
    "single": {
        "id": 2,
        "class": "Invoice",
        "url_path": "\/invoices\/2",
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "company_id": 2,
        "company_name": "First Client",
        "company_address": "Street Name 12\nCity",
        "note": null,
        "currency_id": 1,
        "language_id": 0,
        "discount_rate": 0,
        "subtotal": 6125,
        "subtotal_without_discount": 6125,
        "discount": 0,
        "tax": 568.75,
        "rounding_difference": 0,
        "rounded_total": 6693.75,
        "total": 6693.75,
        "paid_amount": 0,
        "balance_due": 6693.75,
        "recipients": null,
        "email_from": null,
        "email_subject": null,
        "email_body": null,
        "second_tax_is_enabled": false,
        "second_tax_is_compound": false,
        "created_on": 1430165072,
        "created_by_id": 1,
        "updated_on": 1430165072,
        "based_on_type": null,
        "based_on_id": null,
        "number": "2\/2014",
        "project_id": 0,
        "purchase_order_number": null,
        "issued_on": 1430165072,
        "due_on": 1430165072,
        "allow_payments": 1,
        "closed_on": null,
        "sent_on": null,
        "hash": "vgOYHN5yBoxyUoQF3zIB0MycDx2Tf6HAbkoIYi7o",
        "status": "issued",
        "public_url": "http:\/\/feather.dev\/s\/invoice?hash=vgOYHN5yBoxyUoQF3zIB0MycDx2Tf6HAbkoIYi7o&number=2%2F2014",
        "is_credit_invoice": false
    },
    "reminders": [],
    "items": [
        {
            "id": 4,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/4",
            "parent_type": "Invoice",
            "parent_id": 2,
            "discount_rate": 0,
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 2500,
            "subtotal_without_discount": 2500,
            "discount": 0,
            "total": 2500,
            "position": 1,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 5,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/5",
            "parent_type": "Invoice",
            "parent_id": 2,
            "discount_rate": 0,
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1,
            "first_tax_value": 568.75,
            "first_tax_name": "VAT",
            "first_tax_rate": 17.5,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 3250,
            "subtotal_without_discount": 3250,
            "discount": 0,
            "total": 3818.75,
            "position": 2,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 6,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/6",
            "parent_type": "Invoice",
            "parent_id": 2,
            "discount_rate": 0,
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 375,
            "subtotal_without_discount": 375,
            "discount": 0,
            "total": 375,
            "position": 3,
            "time_record_ids": [],
            "expense_ids": []
        }
    ],
    "time_records": [],
    "expenses": [],
    "payments": []
}
Response: HTTP 200, application/json (Hide)
POST /invoices

Payload:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "company_id": 3,
    "project_id": 2,
    "number": "3\/2014",
    "items": [
        {
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25
        },
        {
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1
        },
        {
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25
        }
    ],
    "private_note": "Client will not be able to see this"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
    "single": {
        "id": 3,
        "class": "Invoice",
        "url_path": "\/invoices\/3",
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "company_id": 3,
        "company_name": "Second Client",
        "company_address": "Street Name 12\nCity",
        "note": null,
        "currency_id": 1,
        "language_id": 0,
        "discount_rate": 0,
        "subtotal": 6125,
        "subtotal_without_discount": 6125,
        "discount": 0,
        "tax": 568.75,
        "rounding_difference": 0,
        "rounded_total": 6693.75,
        "total": 6693.75,
        "paid_amount": 0,
        "balance_due": 6693.75,
        "recipients": null,
        "email_from": null,
        "email_subject": null,
        "email_body": null,
        "second_tax_is_enabled": false,
        "second_tax_is_compound": false,
        "created_on": 1430165072,
        "created_by_id": 1,
        "updated_on": 1430165072,
        "based_on_type": null,
        "based_on_id": null,
        "number": "3\/2014",
        "project_id": 2,
        "purchase_order_number": null,
        "issued_on": 1430165072,
        "due_on": 1430165072,
        "allow_payments": 1,
        "closed_on": null,
        "sent_on": null,
        "hash": "OS3fOrMmihtHC249TEKKZhW9RSpjJ53A0FSKR1Sa",
        "status": "issued",
        "public_url": "http:\/\/feather.dev\/s\/invoice?hash=OS3fOrMmihtHC249TEKKZhW9RSpjJ53A0FSKR1Sa&number=3%2F2014",
        "is_credit_invoice": false
    },
    "reminders": [],
    "items": [
        {
            "id": 7,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/7",
            "parent_type": "Invoice",
            "parent_id": 3,
            "discount_rate": 0,
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 2500,
            "subtotal_without_discount": 2500,
            "discount": 0,
            "total": 2500,
            "position": 1,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 8,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/8",
            "parent_type": "Invoice",
            "parent_id": 3,
            "discount_rate": 0,
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1,
            "first_tax_value": 568.75,
            "first_tax_name": "VAT",
            "first_tax_rate": 17.5,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 3250,
            "subtotal_without_discount": 3250,
            "discount": 0,
            "total": 3818.75,
            "position": 2,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 9,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/9",
            "parent_type": "Invoice",
            "parent_id": 3,
            "discount_rate": 0,
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 375,
            "subtotal_without_discount": 375,
            "discount": 0,
            "total": 375,
            "position": 3,
            "time_record_ids": [],
            "expense_ids": []
        }
    ],
    "time_records": [],
    "expenses": [],
    "payments": []
}
Response: HTTP 200, application/json (Hide)
POST /invoices

Payload:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
    "company_id": 3,
    "number": "4\/2014",
    "items": [
        {
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25
        },
        {
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1
        },
        {
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25
        }
    ],
    "private_note": "Client will not be able to see this"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
    "single": {
        "id": 4,
        "class": "Invoice",
        "url_path": "\/invoices\/4",
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "company_id": 3,
        "company_name": "Second Client",
        "company_address": "Street Name 12\nCity",
        "note": null,
        "currency_id": 1,
        "language_id": 0,
        "discount_rate": 0,
        "subtotal": 6125,
        "subtotal_without_discount": 6125,
        "discount": 0,
        "tax": 568.75,
        "rounding_difference": 0,
        "rounded_total": 6693.75,
        "total": 6693.75,
        "paid_amount": 0,
        "balance_due": 6693.75,
        "recipients": null,
        "email_from": null,
        "email_subject": null,
        "email_body": null,
        "second_tax_is_enabled": false,
        "second_tax_is_compound": false,
        "created_on": 1430165072,
        "created_by_id": 1,
        "updated_on": 1430165072,
        "based_on_type": null,
        "based_on_id": null,
        "number": "4\/2014",
        "project_id": 0,
        "purchase_order_number": null,
        "issued_on": 1430165072,
        "due_on": 1430165072,
        "allow_payments": 1,
        "closed_on": null,
        "sent_on": null,
        "hash": "I4nAzYh16yMn930qqBEqTH9gHWQdOdLHqa7ehVGx",
        "status": "issued",
        "public_url": "http:\/\/feather.dev\/s\/invoice?hash=I4nAzYh16yMn930qqBEqTH9gHWQdOdLHqa7ehVGx&number=4%2F2014",
        "is_credit_invoice": false
    },
    "reminders": [],
    "items": [
        {
            "id": 10,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/10",
            "parent_type": "Invoice",
            "parent_id": 4,
            "discount_rate": 0,
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 2500,
            "subtotal_without_discount": 2500,
            "discount": 0,
            "total": 2500,
            "position": 1,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 11,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/11",
            "parent_type": "Invoice",
            "parent_id": 4,
            "discount_rate": 0,
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1,
            "first_tax_value": 568.75,
            "first_tax_name": "VAT",
            "first_tax_rate": 17.5,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 3250,
            "subtotal_without_discount": 3250,
            "discount": 0,
            "total": 3818.75,
            "position": 2,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 12,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/12",
            "parent_type": "Invoice",
            "parent_id": 4,
            "discount_rate": 0,
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 375,
            "subtotal_without_discount": 375,
            "discount": 0,
            "total": 375,
            "position": 3,
            "time_record_ids": [],
            "expense_ids": []
        }
    ],
    "time_records": [],
    "expenses": [],
    "payments": []
}
Response: HTTP 200, application/json (Hide)
POST /invoices

Payload:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
    "company_id": 4,
    "number": "5\/2014",
    "items": [
        {
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25
        },
        {
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1
        },
        {
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25
        }
    ],
    "private_note": "Client will not be able to see this"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
    "single": {
        "id": 5,
        "class": "Invoice",
        "url_path": "\/invoices\/5",
        "is_trashed": false,
        "trashed_on": null,
        "trashed_by_id": 0,
        "company_id": 4,
        "company_name": "Third Client",
        "company_address": "Street Name 12\nCity",
        "note": null,
        "currency_id": 1,
        "language_id": 0,
        "discount_rate": 0,
        "subtotal": 6125,
        "subtotal_without_discount": 6125,
        "discount": 0,
        "tax": 568.75,
        "rounding_difference": 0,
        "rounded_total": 6693.75,
        "total": 6693.75,
        "paid_amount": 0,
        "balance_due": 6693.75,
        "recipients": null,
        "email_from": null,
        "email_subject": null,
        "email_body": null,
        "second_tax_is_enabled": false,
        "second_tax_is_compound": false,
        "created_on": 1430165072,
        "created_by_id": 1,
        "updated_on": 1430165072,
        "based_on_type": null,
        "based_on_id": null,
        "number": "5\/2014",
        "project_id": 0,
        "purchase_order_number": null,
        "issued_on": 1430165072,
        "due_on": 1430165072,
        "allow_payments": 1,
        "closed_on": null,
        "sent_on": null,
        "hash": "d0DMFk8WRyqhIdAO7zz1jGpj0gQX3Rj6PNHjXD7E",
        "status": "issued",
        "public_url": "http:\/\/feather.dev\/s\/invoice?hash=d0DMFk8WRyqhIdAO7zz1jGpj0gQX3Rj6PNHjXD7E&number=5%2F2014",
        "is_credit_invoice": false
    },
    "reminders": [],
    "items": [
        {
            "id": 13,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/13",
            "parent_type": "Invoice",
            "parent_id": 5,
            "discount_rate": 0,
            "description": "First item",
            "quantity": 100,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 2500,
            "subtotal_without_discount": 2500,
            "discount": 0,
            "total": 2500,
            "position": 1,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 14,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/14",
            "parent_type": "Invoice",
            "parent_id": 5,
            "discount_rate": 0,
            "description": "Second item",
            "quantity": 250,
            "unit_cost": 13,
            "first_tax_rate_id": 1,
            "first_tax_value": 568.75,
            "first_tax_name": "VAT",
            "first_tax_rate": 17.5,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 3250,
            "subtotal_without_discount": 3250,
            "discount": 0,
            "total": 3818.75,
            "position": 2,
            "time_record_ids": [],
            "expense_ids": []
        },
        {
            "id": 15,
            "class": "InvoiceItem",
            "url_path": "\/invoice-items\/15",
            "parent_type": "Invoice",
            "parent_id": 5,
            "discount_rate": 0,
            "description": "Third item",
            "quantity": 15,
            "unit_cost": 25,
            "first_tax_rate_id": 0,
            "first_tax_value": 0,
            "first_tax_name": "",
            "first_tax_rate": 0,
            "second_tax_rate_id": 0,
            "second_tax_value": 0,
            "second_tax_name": "",
            "second_tax_rate": 0,
            "second_tax_is_enabled": false,
            "second_tax_is_compound": false,
            "subtotal": 375,
            "subtotal_without_discount": 375,
            "discount": 0,
            "total": 375,
            "position": 3,
            "time_record_ids": [],
            "expense_ids": []
        }
    ],
    "time_records": [],
    "expenses": [],
    "payments": []
}

Now, lets mark them as paid:

Response: HTTP 200, application/json (Hide)
POST /payments

Payload:

1
2
3
4
5
6
7
{
    "parent_type": "Invoice",
    "parent_id": 1,
    "amount": 6693.75,
    "paid_on": "2014\/11\/11",
    "comment": "Paid in full"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "single": {
        "id": 1,
        "class": "Payment",
        "url_path": "\/payments\/1",
        "parent_type": "Invoice",
        "parent_id": 1,
        "created_on": 1430165073,
        "created_by_id": 1,
        "updated_on": 1430165073,
        "amount": 6693.75,
        "status": "paid",
        "paid_on": 1415664000,
        "currency_id": 1,
        "method": "custom",
        "comment": "Paid in full",
        "additional_properties": []
    }
}
Response: HTTP 200, application/json (Hide)
POST /payments

Payload:

1
2
3
4
5
6
7
{
    "parent_type": "Invoice",
    "parent_id": 2,
    "amount": 6693.75,
    "paid_on": "2014\/11\/11",
    "comment": "Paid in full"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "single": {
        "id": 2,
        "class": "Payment",
        "url_path": "\/payments\/2",
        "parent_type": "Invoice",
        "parent_id": 2,
        "created_on": 1430165073,
        "created_by_id": 1,
        "updated_on": 1430165073,
        "amount": 6693.75,
        "status": "paid",
        "paid_on": 1415664000,
        "currency_id": 1,
        "method": "custom",
        "comment": "Paid in full",
        "additional_properties": []
    }
}
Response: HTTP 200, application/json (Hide)
POST /payments

Payload:

1
2
3
4
5
6
7
{
    "parent_type": "Invoice",
    "parent_id": 3,
    "amount": 6693.75,
    "paid_on": "2014\/11\/11",
    "comment": "Paid in full"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "single": {
        "id": 3,
        "class": "Payment",
        "url_path": "\/payments\/3",
        "parent_type": "Invoice",
        "parent_id": 3,
        "created_on": 1430165073,
        "created_by_id": 1,
        "updated_on": 1430165073,
        "amount": 6693.75,
        "status": "paid",
        "paid_on": 1415664000,
        "currency_id": 1,
        "method": "custom",
        "comment": "Paid in full",
        "additional_properties": []
    }
}
Response: HTTP 200, application/json (Hide)
POST /payments

Payload:

1
2
3
4
5
6
7
{
    "parent_type": "Invoice",
    "parent_id": 4,
    "amount": 6693.75,
    "paid_on": "2014\/11\/11",
    "comment": "Paid in full"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "single": {
        "id": 4,
        "class": "Payment",
        "url_path": "\/payments\/4",
        "parent_type": "Invoice",
        "parent_id": 4,
        "created_on": 1430165073,
        "created_by_id": 1,
        "updated_on": 1430165073,
        "amount": 6693.75,
        "status": "paid",
        "paid_on": 1415664000,
        "currency_id": 1,
        "method": "custom",
        "comment": "Paid in full",
        "additional_properties": []
    }
}
Response: HTTP 200, application/json (Hide)
POST /payments

Payload:

1
2
3
4
5
6
7
{
    "parent_type": "Invoice",
    "parent_id": 5,
    "paid_on": "2015\/01\/13",
    "amount": 6693.75,
    "comment": "Paid in full"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "single": {
        "id": 5,
        "class": "Payment",
        "url_path": "\/payments\/5",
        "parent_type": "Invoice",
        "parent_id": 5,
        "created_on": 1430165073,
        "created_by_id": 1,
        "updated_on": 1430165073,
        "amount": 6693.75,
        "status": "paid",
        "paid_on": 1421107200,
        "currency_id": 1,
        "method": "custom",
        "comment": "Paid in full",
        "additional_properties": []
    }
}

We'll start by checking permissions. Owner and financial managers can access invoicing reports, while other users can't:

Response: HTTP 200, application/json (Hide)
GET /reports/run

Query Parameters:

1
2
3
{
    "type": "InvoicePaymentsFilter"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{
    "all": {
        "label": "All Payments",
        "payments": {
            "5": {
                "id": 5,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1421107200,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 5,
                "invoice_number": "5\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 4,
                "company_name": "Third Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "1": {
                "id": 1,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 1,
                "invoice_number": "1\/2014",
                "project_id": 1,
                "project_name": "First Client Project",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "2": {
                "id": 2,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 2,
                "invoice_number": "2\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "3": {
                "id": 3,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 3,
                "invoice_number": "3\/2014",
                "project_id": 2,
                "project_name": "Second Client Project",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "4": {
                "id": 4,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 4,
                "invoice_number": "4\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    }
}
Response: HTTP 404, text/html
GET /reports/run (as RegularManager)

Query Parameters:

1
2
3
{
    "type": "InvoicePaymentsFilter"
}
Response: HTTP 200, application/json (Hide)
GET /reports/run (as FinancialManager)

Query Parameters:

1
2
3
{
    "type": "InvoicePaymentsFilter"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{
    "all": {
        "label": "All Payments",
        "payments": {
            "5": {
                "id": 5,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1421107200,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 5,
                "invoice_number": "5\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 4,
                "company_name": "Third Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "1": {
                "id": 1,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 1,
                "invoice_number": "1\/2014",
                "project_id": 1,
                "project_name": "First Client Project",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "2": {
                "id": 2,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 2,
                "invoice_number": "2\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "3": {
                "id": 3,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 3,
                "invoice_number": "3\/2014",
                "project_id": 2,
                "project_name": "Second Client Project",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "4": {
                "id": 4,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 4,
                "invoice_number": "4\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    }
}
Response: HTTP 404, text/html
GET /reports/run (as Client)

Query Parameters:

1
2
3
{
    "type": "InvoicePaymentsFilter"
}

Payments can be filtered by client company:

Response: HTTP 200, application/json (Hide)
GET /reports/run

Query Parameters:

1
2
3
4
{
    "type": "InvoicePaymentsFilter",
    "company_filter": "selected_2"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
    "all": {
        "label": "All Payments",
        "payments": {
            "1": {
                "id": 1,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 1,
                "invoice_number": "1\/2014",
                "project_id": 1,
                "project_name": "First Client Project",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "2": {
                "id": 2,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 2,
                "invoice_number": "2\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    }
}

By payment date:

Response: HTTP 200, application/json (Hide)
GET /reports/run

Query Parameters:

1
2
3
4
{
    "type": "InvoicePaymentsFilter",
    "paid_on_filter": "selected_range_2014\/01\/01:2014\/12\/31"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
{
    "all": {
        "label": "All Payments",
        "payments": {
            "1": {
                "id": 1,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 1,
                "invoice_number": "1\/2014",
                "project_id": 1,
                "project_name": "First Client Project",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "2": {
                "id": 2,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 2,
                "invoice_number": "2\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "3": {
                "id": 3,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 3,
                "invoice_number": "3\/2014",
                "project_id": 2,
                "project_name": "Second Client Project",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "4": {
                "id": 4,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 4,
                "invoice_number": "4\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    }
}
Response: HTTP 200, application/json (Hide)
GET /reports/run

Query Parameters:

1
2
3
4
{
    "type": "InvoicePaymentsFilter",
    "paid_on_filter": "selected_range_2015\/01\/01:2015\/12\/31"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "all": {
        "label": "All Payments",
        "payments": {
            "5": {
                "id": 5,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1421107200,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 5,
                "invoice_number": "5\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 4,
                "company_name": "Third Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    }
}

This filter also supports one level of grouping:

Response: HTTP 200, application/json (Hide)
GET /reports/run

Query Parameters:

1
2
3
4
{
    "type": "InvoicePaymentsFilter",
    "group_by": "company"
}

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
{
    "company-4": {
        "label": "Third Client",
        "payments": {
            "5": {
                "id": 5,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1421107200,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 5,
                "invoice_number": "5\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 4,
                "company_name": "Third Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    },
    "company-2": {
        "label": "First Client",
        "payments": {
            "1": {
                "id": 1,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 1,
                "invoice_number": "1\/2014",
                "project_id": 1,
                "project_name": "First Client Project",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "2": {
                "id": 2,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 2,
                "invoice_number": "2\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 2,
                "company_name": "First Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    },
    "company-3": {
        "label": "Second Client",
        "payments": {
            "3": {
                "id": 3,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 3,
                "invoice_number": "3\/2014",
                "project_id": 2,
                "project_name": "Second Client Project",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            },
            "4": {
                "id": 4,
                "parent_type": "Invoice",
                "amount": 6693.75,
                "currency_id": 1,
                "status": "paid",
                "created_on": 1430165073,
                "created_by_id": 1,
                "created_by_name": "ilija.studen",
                "created_by_email": "ilija.studen@activecollab.com",
                "updated_on": "2015-04-27 20:04:33",
                "paid_on": 1415664000,
                "comment": "Paid in full",
                "method": "custom",
                "raw_additional_properties": null,
                "invoice_id": 4,
                "invoice_number": "4\/2014",
                "project_id": 0,
                "project_name": "",
                "company_id": 3,
                "company_name": "Second Client",
                "currency_name": "Euro",
                "currency_code": "EUR"
            }
        }
    }
}

Result of payments report can also be exported:

Response: HTTP 200, text/csv (Hide)
GET /reports/export

Query Parameters:

1
2
3
{
    "type": "InvoicePaymentsFilter"
}

Response:

1
2
3
4
5
6
Payment ID,Amount,Created On,Paid On,Currency Name,Currency Code,Company ID,Company Name,Invoice ID,Invoice Number,Project ID,Project Name,Comment
5,6693.75,2015-04-27,2015-01-13,Euro,EUR,4,Third Client,5,5/2014,0,,Paid in full
1,6693.75,2015-04-27,2014-11-11,Euro,EUR,2,First Client,1,1/2014,1,First Client Project,Paid in full
2,6693.75,2015-04-27,2014-11-11,Euro,EUR,2,First Client,2,2/2014,0,,Paid in full
3,6693.75,2015-04-27,2014-11-11,Euro,EUR,3,Second Client,3,3/2014,2,Second Client Project,Paid in full
4,6693.75,2015-04-27,2014-11-11,Euro,EUR,3,Second Client,4,4/2014,0,,Paid in full