Requisitions (Subcontractor Invoices)

GET /rest/v1.0/requisitions/{requisition_id}/detail

Description

Return Requisition (Subcontractor Invoice) Detail

Changelog

Date
Category
Breaking
Summary
Aug 29 2024
Feature
Added materials moved attributes in line item responses.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

requisition_idinteger*

Requisition (Subcontractor Invoice) ID

Query Parameters

project_idinteger*

Unique identifier for the project.

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'GET',
5 url: 'https://api.procore.com/rest/v1.0/requisitions/%7Brequisition_id%7D/detail',
6 qs: {project_id: 'SOME_INTEGER_VALUE'}
7};
8
9request(options, function (error, response, body) {
10 if (error) throw new Error(error);
11
12 console.log(body);
13});
14

Responses

Body

idinteger

ID (for the item_type)

balance_to_finishstring

Balance to finish amount

materials_presently_storedstring

Materials presently stored amount

scheduled_valuestring

Scheduled value amount

total_completed_and_stored_to_datestring

Total completed and stored to date amount

total_completed_and_stored_to_date_percentstring

Total completed and stored to date percent

work_completed_from_previous_applicationstring

Work completed from previous application amount

work_completed_this_periodstring

Work completed this period amount

description_of_workstring

Description of work

item_numberinteger

Item number

item_typestring

Requisition (Subcontractor Invoice) detail line type

Allowed values:
change_order_item
whole_change_order_item
contract_detail_item
contract_item

cost_code_idinteger

Cost code ID

scheduled_unit_pricestring

Scheduled unit price

scheduled_quantitystring

Scheduled quantity

total_completed_and_stored_to_date_quantitystring

Total completed and stored to date quantity

work_completed_this_period_quantitystring

Work completed this period quantity

work_completed_from_previous_application_quantitystring

Work completed from previous application quantity

work_completed_retainage_currently_retainedstring

Work completed retainage currently retained amount

work_completed_retainage_from_previous_applicationstring

Work completed retainage amount from previous application

work_completed_retainage_released_this_periodstring

Work completed retainage amount released this period

work_completed_retainage_retained_this_periodstring

Work completed retainage amount retained this period

work_completed_retainage_percent_this_periodstring

Work completed retainage percent this period

materials_stored_retainage_currently_retainedstring

Materials stored retainage amount currently retained

materials_stored_retainage_from_previous_applicationstring

Materials stored retainage amount from previous application

materials_stored_retainage_released_this_periodstring

Materials stored retainage amount released this period

materials_stored_retainage_retained_this_periodstring

Materials stored retainage amount retained this period

materials_stored_retainage_percent_this_periodstring

Materials stored retainage percent this period

total_retainage_currently_retainedstring

Total retainage amount currently retained

total_retainage_from_previous_applicationstring

Total retainage amount from previous application

materials_movedstring

Materials automatically moved from previous line item into previous work completed. This will be non-zero only if move_materials_to_previous_work_completed is true on the payment application.

materials_retainage_retained_movedstring

Retainage on materials automatically moved from previous line item into work completed retainage amount accrued previously. This will be non-zero only if move_materials_to_previous_work_completed is true on the payment application.

Example Response
1[
2 {
3 "id": 58820,
4 "balance_to_finish": "1.00",
5 "materials_presently_stored": "0.00",
6 "scheduled_value": "1.00",
7 "total_completed_and_stored_to_date": "0.00",
8 "total_completed_and_stored_to_date_percent": "0.0",
9 "work_completed_from_previous_application": "0.00",
10 "work_completed_this_period": "0.00",
11 "description_of_work": "Install windows",
12 "item_number": 1,
13 "item_type": "contract_detail_item",
14 "cost_code_id": 21585118,
15 "scheduled_unit_price": "0.0",
16 "scheduled_quantity": "0.0",
17 "total_completed_and_stored_to_date_quantity": "0.0",
18 "work_completed_this_period_quantity": "0.0",
19 "work_completed_from_previous_application_quantity": "0.0",
20 "work_completed_retainage_currently_retained": "0.0",
21 "work_completed_retainage_from_previous_application": "0.0",
22 "work_completed_retainage_released_this_period": "0.0",
23 "work_completed_retainage_retained_this_period": "0.0",
24 "work_completed_retainage_percent_this_period": "10.0",
25 "materials_stored_retainage_currently_retained": "0.0",
26 "materials_stored_retainage_from_previous_application": "0.0",
27 "materials_stored_retainage_released_this_period": "0.0",
28 "materials_stored_retainage_retained_this_period": "0.0",
29 "materials_stored_retainage_percent_this_period": "10.0",
30 "total_retainage_currently_retained": "0.0",
31 "total_retainage_from_previous_application": "0.0",
32 "materials_moved": "0.00",
33 "materials_retainage_retained_moved": "0.00"
34 }
35]
POST /rest/v1.0/requisitions/{requisition_id}/add_change_order_package

Description

The Add Change Order Package endpoint allows for the addition of a Change Order Package to a Requisition (Subcontractor Invoice)
which will cause change_order_items to be added to the Requisition (Subcontractor Invoice)

Changelog

Date
Category
Breaking
Summary
Aug 29 2024
Feature
Added materials moved attributes in line item responses.
May 30 2023
Feature
Added currency_configuration to the output.
Sep 20 2022
Feature
Added commitment_line_item_id and commitment_line_item_origin_id to the response

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

requisition_idinteger*

Requisition (Subcontractor Invoice) ID

Query Parameters

commitment_idinteger*

Commitment ID

project_idinteger*

Unique identifier for the project.

change_order_package_idinteger*

Change Order Package ID

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'POST',
5 url: 'https://api.procore.com/rest/v1.0/requisitions/%7Brequisition_id%7D/add_change_order_package',
6 qs: {
7 commitment_id: 'SOME_INTEGER_VALUE',
8 project_id: 'SOME_INTEGER_VALUE',
9 change_order_package_id: 'SOME_INTEGER_VALUE'
10 }
11};
12
13request(options, function (error, response, body) {
14 if (error) throw new Error(error);
15
16 console.log(body);
17});
18

Responses

Body

idinteger

ID for Change Order Item

cost_code_idinteger

Cost Code ID

line_item_idinteger

Line Item ID

commitment_line_item_idinteger

Commitment Line Item ID

commitment_line_item_origin_idstring

Commitment Line Item Origin ID

description_of_workstring

Description of work

scheduled_valuestring

Scheduled value amount

work_completed_from_previous_applicationstring

Work completed from previous application amount

work_completed_this_periodstring

Work completed this period amount

materials_presently_storedstring

Materials presently stored amount

total_completed_and_stored_to_datestring

Total completed and stored to date amount

total_completed_and_stored_to_date_percentstring

Total completed and stored to date percent

work_completed_retainage_from_previous_applicationstring

Work completed retainage amount from previous application

work_completed_retainage_retained_this_periodstring

Work completed retainage amount retained this period

work_completed_retainage_percent_this_periodstring

Work completed retainage percent this period

materials_stored_retainage_currently_retainedstring

Materials stored retainage amount currently retained

materials_stored_retainage_percent_this_periodstring

Materials stored retainage percent this period

work_completed_retainage_released_this_periodstring

Work completed retainage amount released this period

materials_stored_retainage_released_this_periodstring

Materials stored retainage amount released this period

scheduled_quantitystring

Scheduled quantity

scheduled_unit_pricestring

Scheduled unit price

work_completed_this_period_quantitystring

Work completed this period quantity

work_completed_from_previous_application_quantitystring

Work completed from previous application quantity

change_order_package_idinteger

ID for Change Order Package

subcontractor_claimed_amountstring

Amount claimed by the subcontractor

wbs_codeobject

positioninteger

Position

currency_configurationobject

Currency Configuration

materials_movedstring

Materials automatically moved from previous line item into previous work completed. This will be non-zero only if move_materials_to_previous_work_completed is true on the payment application.

materials_retainage_retained_movedstring

Retainage on materials automatically moved from previous line item into work completed retainage amount accrued previously. This will be non-zero only if move_materials_to_previous_work_completed is true on the payment application.

Example Response
1[
2 {
3 "id": 341256,
4 "cost_code_id": 21585118,
5 "line_item_id": 3129856,
6 "commitment_line_item_id": 3129856,
7 "commitment_line_item_origin_id": "abc-123",
8 "description_of_work": "Install windows",
9 "scheduled_value": "1.00",
10 "work_completed_from_previous_application": "0.00",
11 "work_completed_this_period": "0.00",
12 "materials_presently_stored": "0.00",
13 "total_completed_and_stored_to_date": "0.00",
14 "total_completed_and_stored_to_date_percent": "0.0",
15 "work_completed_retainage_from_previous_application": "0.0",
16 "work_completed_retainage_retained_this_period": "0.0",
17 "work_completed_retainage_percent_this_period": "10.0",
18 "materials_stored_retainage_currently_retained": "0.0",
19 "materials_stored_retainage_percent_this_period": "10.0",
20 "work_completed_retainage_released_this_period": "0.0",
21 "materials_stored_retainage_released_this_period": "0.0",
22 "scheduled_quantity": "0.0",
23 "scheduled_unit_price": "0.0",
24 "work_completed_this_period_quantity": "0.0",
25 "work_completed_from_previous_application_quantity": "0.0",
26 "change_order_package_id": 12345,
27 "subcontractor_claimed_amount": "0.0",
28 "wbs_code": {
29 "id": 999,
30 "flat_code": "01-011.CT1",
31 "description": "Project Engineer.Cost Type 1"
32 },
33 "position": 1,
34 "currency_configuration": {
35 "currency_iso_code": "USD"
36 },
37 "materials_moved": "0.00",
38 "materials_retainage_retained_moved": "0.00"
39 }
40]
DELETE /rest/v1.0/requisitions/{requisition_id}/remove_change_order_package

Description

Remove a specified Change Order Package from a Requisition (Subcontractor Invoice)

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

requisition_idinteger*

Requisition (Subcontractor Invoice) ID

Query Parameters

commitment_idinteger*

Commitment ID

project_idinteger*

Unique identifier for the project.

change_order_package_idinteger*

Change Order Package ID

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'DELETE',
5 url: 'https://api.procore.com/rest/v1.0/requisitions/%7Brequisition_id%7D/remove_change_order_package',
6 qs: {
7 commitment_id: 'SOME_INTEGER_VALUE',
8 project_id: 'SOME_INTEGER_VALUE',
9 change_order_package_id: 'SOME_INTEGER_VALUE'
10 }
11};
12
13request(options, function (error, response, body) {
14 if (error) throw new Error(error);
15
16 console.log(body);
17});
18

Responses

200(OK)

GET /rest/v1.1/requisitions

Description

Return a list of Requisitions (Subcontractor Invoices) on a specified project

See Filtering on List Actions for information on using the filtering capabilities provided by this endpoint.

Changelog

Date
Category
Breaking
Summary
Jan 13 2025
Feature
custom_fields will always show independently of project settings.
Jan 05 2025
Feature
Added filtering on is_last
Oct 05 2024
Feature
Added item packages attribute in response

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Query Parameters

project_idinteger*

Unique identifier for the project.

pageinteger

Page

per_pageinteger

Elements per page

filters[id]array[integer]

Return item(s) with the specified IDs.

filters[commitment_id]integer

Commitment ID(s). Returns item(s) with the specified Commitment ID(s).

filters[period_id]integer

Billing Period ID. Returns item(s) with the specified Billing Period ID.

filters[status]string

Return item(s) with the specified Requisition (Subcontractor Invoice) status.

Allowed values:
draft
under_review
revise_and_resubmit
approved
approved_as_noted
pending_owner_approval

filters[created_at]string

Return item(s) created within the specified ISO 8601 datetime range.
Formats:
YYYY-MM-DD...YYYY-MM-DD - Date
YYYY-MM-DDTHH:MM:SSZ...YYYY-MM-DDTHH:MM:SSZ - DateTime with UTC Offset

filters[updated_at]string

Return item(s) last updated within the specified ISO 8601 datetime range.
Formats:
YYYY-MM-DD...YYYY-MM-DD - Date
YYYY-MM-DDTHH:MM:SSZ...YYYY-MM-DDTHH:MM:SSZ - DateTime with UTC Offset

filters[origin_id]string

Origin ID. Returns item(s) with the specified Origin ID.

filters[is_last]boolean

Setting this to true will return only the last item. Setting this to false will return all the items except the last one.

viewstring

Specifies which view (which attributes) of the resource is going to be present in the response.

Allowed values:
default
extended
items
action_policy
Example Requests
1const request = require('request');
2
3const options = {
4 method: 'GET',
5 url: 'https://api.procore.com/rest/v1.1/requisitions',
6 qs: {
7 project_id: 'SOME_INTEGER_VALUE',
8 page: 'SOME_INTEGER_VALUE',
9 per_page: 'SOME_INTEGER_VALUE',
10 'filters[id]': 'SOME_ARRAY_VALUE',
11 'filters[commitment_id]': 'SOME_INTEGER_VALUE',
12 'filters[period_id]': 'SOME_INTEGER_VALUE',
13 'filters[status]': 'SOME_STRING_VALUE',
14 'filters[created_at]': 'SOME_STRING_VALUE',
15 'filters[updated_at]': 'SOME_STRING_VALUE',
16 'filters[origin_id]': 'SOME_STRING_VALUE',
17 'filters[is_last]': 'SOME_BOOLEAN_VALUE',
18 view: 'SOME_STRING_VALUE'
19 }
20};
21
22request(options, function (error, response, body) {
23 if (error) throw new Error(error);
24
25 console.log(body);
26});
27

Responses

Body

idinteger

ID

previous_requisition_idinteger

ID for the previous requisition before this one on the same contract

project_idinteger

Project ID

billing_datestring(format: date)

Billing date

created_atstring(format: date-time)

Date req was created

updated_atstring(format: date-time)

Date req was last updated

commitment_idinteger

commitment ID

commitment_typestring

Commitment Type

contract_namestring

Contract Name

deletableboolean

A boolean indicating whether or not the invoice can be deleted.

finalboolean

true or false value indicating whether or not this is the final invoice

vendor_namestring

Name of Vendor for Invoice

vendor_idinteger

ID of Vendor for Invoice

invoice_numberstring

Invoice number

invoice_typestring

Invoice type (present in all views)

origin_datastring

Requisition (Subcontractor Invoice) third party data

origin_idstring

Requisition (Subcontractor Invoice) third party ID

payment_datestring(format: date)

Date requisition was paid

percent_completestring

Percent complete

period_idinteger

Period ID

requisition_startstring(format: date)

Requisition (Subcontractor Invoice) start date

requisition_endstring(format: date)

Requisition (Subcontractor Invoice) end date

statusstring

Status

Allowed values:
draft
under_review
revise_and_resubmit
approved
approved_as_noted
pending_owner_approval

erp_statusstring

Current ERP status of Requisition

numberinteger

Requisition (Subcontractor Invoice) number

submitted_atstring(format: date)

Date requisition was submitted

total_claimed_amountstring

Total Claimed Amount for the Invoice

electronic_signature_idinteger

Electronic Signature ID

move_materials_to_previous_work_completedboolean

A boolean indicating if should move materials to previous work completed.

summary_textobject

Requisition (Subcontractor Invoice) summary text

summaryobject

Requisition (Subcontractor Invoice) summary

created_byobject

Login Information

custom_fieldsobject

currency_configurationobject

Requisition (Subcontractor Invoice) Currency Configuration

attachmentsarray

Attachments

itemsarray

Requisition items. Included only when the views query param includes 'extended' or 'items'.

item_packagesarray

Requisition item packages. An item package can have either a contract or change order as its parent entity. Included only when the views query param includes 'extended' or 'items'.

Response Headers

Per-Pageinteger

Number of items retrieved per page

Totalinteger

Total number of items to be retrieved

Linkstring

Link headers for the first, prev, next, and last link

Example Response
1[
2 {
3 "id": 58820,
4 "previous_requisition_id": 58819,
5 "project_id": 789,
6 "billing_date": "2013-11-20",
7 "created_at": "2013-11-15T12:00:00Z",
8 "updated_at": "2013-11-15T12:00:00Z",
9 "commitment_id": 701973,
10 "commitment_type": "WorkOrderContract",
11 "contract_name": "Contract SC-001",
12 "deletable": false,
13 "final": true,
14 "vendor_name": "Ernie's Electrical",
15 "vendor_id": 8881212,
16 "invoice_number": 123,
17 "invoice_type": "progress_and_retainage_release",
18 "origin_data": "XYZ-0012",
19 "origin_id": "abc-123",
20 "payment_date": "2013-11-15",
21 "percent_complete": 0,
22 "period_id": 4293,
23 "requisition_start": "2013-11-01",
24 "requisition_end": "2013-11-02",
25 "status": "approved",
26 "erp_status": "synced",
27 "number": 1,
28 "submitted_at": "2013-11-02",
29 "total_claimed_amount": "100.00",
30 "electronic_signature_id": 701973,
31 "move_materials_to_previous_work_completed": false,
32 "summary_text": {
33 "project_name": "Project",
34 "project_number": "100",
35 "to_general_contractor": "Company A",
36 "requisition_period_start": "2010-01-01",
37 "requisition_period_end": "2010-01-01",
38 "subcontractor_name": "Company B",
39 "subcontractor_street": "101 XYZ Avenue",
40 "subcontractor_city": "New York",
41 "subcontractor_state_code": "NY",
42 "subcontractor_zip": "10101",
43 "subcontractor_country_code": "US",
44 "application_number": "1",
45 "contract_for": "Ceiling Tiles",
46 "contract_date": "2010-01-01"
47 },
48 "summary": {
49 "balance_to_finish_including_retainage": 1268346.55,
50 "completed_work_retainage_percent": 10,
51 "completed_work_retainage_amount": "1201.0",
52 "contract_sum_to_date": 1279159.15,
53 "current_payment_due": 10812.6,
54 "formatted_period": "01/06/19 - 30/06/19",
POST /rest/v1.1/requisitions

Description

Create a new Requisition (Subcontractor Invoices) for the specified Commitment

Changelog

Date
Category
Breaking
Summary
Jan 13 2025
Feature
custom_fields will always show independently of project settings.
Oct 30 2024
Feature
Added enforcements to action policy
Oct 28 2024
Feature
Added support for associating invites

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Query Parameters

viewstring

Specifies which view (which attributes) of the resource is going to be present in the response.

Allowed values:
default
extended
items
action_policy

invite_idinteger

Unique identifier for the invite to associate with the requisition.

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'POST',
5 url: 'https://api.procore.com/rest/v1.1/requisitions',
6 qs: {view: 'SOME_STRING_VALUE', invite_id: 'SOME_INTEGER_VALUE'},
7 headers: {'content-type': 'application/json'},
8 body: {
9 project_id: 55001,
10 commitment_id: 66005,
11 requisition: {
12 items: [
13 {
14 line_item_id: 1001,
15 detail_line_item_id: 1001,
16 item_type: 'contract_detail_item',
17 work_completed_this_period: 1000,
18 materials_presently_stored: 500,
19 materials_presently_stored_from_previous_progress: 250,
20 new_materials: '0.00',
21 stored_materials: '0.00',
22 work_completed_retainage_retained_this_period: 100,
23 materials_stored_retainage_currently_retained: 50,
24 work_completed_retainage_released_this_period: 0,
25 work_completed_this_period_quantity: 10,
26 work_completed_retainage_percent_this_period: 10,
27 materials_stored_retainage_percent_this_period: 10,
28 subcontractor_claimed_amount: 20.5,
29 status: 'rejected',
30 comment: 'This work was not yet completed'
31 }
32 ],
33 period_id: 20093,
34 requisition_start: '2013-10-01',
35 requisition_end: '2013-10-31',
36 billing_date: '2013-10-31',
37 final: true,
38 invoice_number: 'ABC-1234',
39 payment_date: '2013-11-15',
40 origin_data: 'XYZ-0012',
41 origin_id: 'abc-123',
42 status: 'under_review',
43 submitted_at: '2013-11-02',
44 prostore_file_ids: [42],
45 'custom_field_%{custom_field_definition_id}': 'custom field value'
46 }
47 },
48 json: true
49};
50
51request(options, function (error, response, body) {
52 if (error) throw new Error(error);
53
54 console.log(body);

Body Parameters

Body

project_idinteger*

Project ID

commitment_idinteger*

Commitment ID

requisitionobject

Requisition (Subcontractor Invoice)

Example Request Body
1{
2 "project_id": 55001,
3 "commitment_id": 66005,
4 "requisition": {
5 "items": [
6 {
7 "line_item_id": 1001,
8 "detail_line_item_id": 1001,
9 "item_type": "contract_detail_item",
10 "work_completed_this_period": 1000,
11 "materials_presently_stored": 500,
12 "materials_presently_stored_from_previous_progress": 250,
13 "new_materials": "0.00",
14 "stored_materials": "0.00",
15 "work_completed_retainage_retained_this_period": 100,
16 "materials_stored_retainage_currently_retained": 50,
17 "work_completed_retainage_released_this_period": 0,
18 "work_completed_this_period_quantity": 10,
19 "work_completed_retainage_percent_this_period": 10,
20 "materials_stored_retainage_percent_this_period": 10,
21 "subcontractor_claimed_amount": 20.5,
22 "status": "rejected",
23 "comment": "This work was not yet completed"
24 }
25 ],
26 "period_id": 20093,
27 "requisition_start": "2013-10-01",
28 "requisition_end": "2013-10-31",
29 "billing_date": "2013-10-31",
30 "final": true,
31 "invoice_number": "ABC-1234",
32 "payment_date": "2013-11-15",
33 "origin_data": "XYZ-0012",
34 "origin_id": "abc-123",
35 "status": "under_review",
36 "submitted_at": "2013-11-02",
37 "prostore_file_ids": [
38 42
39 ],
40 "custom_field_%{custom_field_definition_id}": "string"
41 }
42}

Responses

Body

idinteger

ID

previous_requisition_idinteger

ID for the previous requisition before this one on the same contract

project_idinteger

Project ID

billing_datestring(format: date)

Billing date

created_atstring(format: date-time)

Date req was created

updated_atstring(format: date-time)

Date req was last updated

commitment_idinteger

commitment ID

commitment_typestring

Commitment Type

contract_namestring

Contract Name

deletableboolean

A boolean indicating whether or not the invoice can be deleted.

finalboolean

true or false value indicating whether or not this is the final invoice

vendor_namestring

Name of Vendor for Invoice

vendor_idinteger

ID of Vendor for Invoice

invoice_numberstring

Invoice number

invoice_typestring

Invoice type (present in all views)

origin_datastring

Requisition (Subcontractor Invoice) third party data

origin_idstring

Requisition (Subcontractor Invoice) third party ID

payment_datestring(format: date)

Date requisition was paid

percent_completestring

Percent complete

period_idinteger

Period ID

requisition_startstring(format: date)

Requisition (Subcontractor Invoice) start date

requisition_endstring(format: date)

Requisition (Subcontractor Invoice) end date

statusstring

Status

Allowed values:
draft
under_review
revise_and_resubmit
approved
approved_as_noted
pending_owner_approval

erp_statusstring

Current ERP status of Requisition

numberinteger

Requisition (Subcontractor Invoice) number

submitted_atstring(format: date)

Date requisition was submitted

total_claimed_amountstring

Total Claimed Amount for the Invoice

electronic_signature_idinteger

Electronic Signature ID

move_materials_to_previous_work_completedboolean

A boolean indicating if should move materials to previous work completed.

summary_textobject

Requisition (Subcontractor Invoice) summary text

summaryobject

Requisition (Subcontractor Invoice) summary

created_byobject

Login Information

custom_fieldsobject

currency_configurationobject

Requisition (Subcontractor Invoice) Currency Configuration

attachmentsarray

Attachments

itemsarray

Requisition items. Included only when the views query param includes 'extended' or 'items'.

item_packagesarray

Requisition item packages. An item package can have either a contract or change order as its parent entity. Included only when the views query param includes 'extended' or 'items'.

Example Response
1{
2 "id": 58820,
3 "previous_requisition_id": 58819,
4 "project_id": 789,
5 "billing_date": "2013-11-20",
6 "created_at": "2013-11-15T12:00:00Z",
7 "updated_at": "2013-11-15T12:00:00Z",
8 "commitment_id": 701973,
9 "commitment_type": "WorkOrderContract",
10 "contract_name": "Contract SC-001",
11 "deletable": false,
12 "final": true,
13 "vendor_name": "Ernie's Electrical",
14 "vendor_id": 8881212,
15 "invoice_number": 123,
16 "invoice_type": "progress_and_retainage_release",
17 "origin_data": "XYZ-0012",
18 "origin_id": "abc-123",
19 "payment_date": "2013-11-15",
20 "percent_complete": 0,
21 "period_id": 4293,
22 "requisition_start": "2013-11-01",
23 "requisition_end": "2013-11-02",
24 "status": "approved",
25 "erp_status": "synced",
26 "number": 1,
27 "submitted_at": "2013-11-02",
28 "total_claimed_amount": "100.00",
29 "electronic_signature_id": 701973,
30 "move_materials_to_previous_work_completed": false,
31 "summary_text": {
32 "project_name": "Project",
33 "project_number": "100",
34 "to_general_contractor": "Company A",
35 "requisition_period_start": "2010-01-01",
36 "requisition_period_end": "2010-01-01",
37 "subcontractor_name": "Company B",
38 "subcontractor_street": "101 XYZ Avenue",
39 "subcontractor_city": "New York",
40 "subcontractor_state_code": "NY",
41 "subcontractor_zip": "10101",
42 "subcontractor_country_code": "US",
43 "application_number": "1",
44 "contract_for": "Ceiling Tiles",
45 "contract_date": "2010-01-01"
46 },
47 "summary": {
48 "balance_to_finish_including_retainage": 1268346.55,
49 "completed_work_retainage_percent": 10,
50 "completed_work_retainage_amount": "1201.0",
51 "contract_sum_to_date": 1279159.15,
52 "current_payment_due": 10812.6,
53 "formatted_period": "01/06/19 - 30/06/19",
54 "less_previous_certificates_for_payment": 0,
GET /rest/v1.1/requisitions/{id}

Description

Return a Requisition (Subcontractor Invoice) on a specified Project

Changelog

Date
Category
Breaking
Summary
Jan 13 2025
Feature
custom_fields will always show independently of project settings.
Oct 05 2024
Feature
Added item packages attribute in response
Sep 26 2024
Feature
Added Invoice Type to response

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

idinteger*

Requisition (Subcontractor Invoice) ID

Query Parameters

project_idinteger*

Unique identifier for the project.

viewstring

Specifies which view (which attributes) of the resource is going to be present in the response.

Allowed values:
default
extended
items
action_policy
Example Requests
1const request = require('request');
2
3const options = {
4 method: 'GET',
5 url: 'https://api.procore.com/rest/v1.1/requisitions/%7Bid%7D',
6 qs: {project_id: 'SOME_INTEGER_VALUE', view: 'SOME_STRING_VALUE'}
7};
8
9request(options, function (error, response, body) {
10 if (error) throw new Error(error);
11
12 console.log(body);
13});
14

Responses

Body

idinteger

ID

previous_requisition_idinteger

ID for the previous requisition before this one on the same contract

project_idinteger

Project ID

billing_datestring(format: date)

Billing date

created_atstring(format: date-time)

Date req was created

updated_atstring(format: date-time)

Date req was last updated

commitment_idinteger

commitment ID

commitment_typestring

Commitment Type

contract_namestring

Contract Name

deletableboolean

A boolean indicating whether or not the invoice can be deleted.

finalboolean

true or false value indicating whether or not this is the final invoice

vendor_namestring

Name of Vendor for Invoice

vendor_idinteger

ID of Vendor for Invoice

invoice_numberstring

Invoice number

invoice_typestring

Invoice type (present in all views)

origin_datastring

Requisition (Subcontractor Invoice) third party data

origin_idstring

Requisition (Subcontractor Invoice) third party ID

payment_datestring(format: date)

Date requisition was paid

percent_completestring

Percent complete

period_idinteger

Period ID

requisition_startstring(format: date)

Requisition (Subcontractor Invoice) start date

requisition_endstring(format: date)

Requisition (Subcontractor Invoice) end date

statusstring

Status

Allowed values:
draft
under_review
revise_and_resubmit
approved
approved_as_noted
pending_owner_approval

erp_statusstring

Current ERP status of Requisition

numberinteger

Requisition (Subcontractor Invoice) number

submitted_atstring(format: date)

Date requisition was submitted

total_claimed_amountstring

Total Claimed Amount for the Invoice

electronic_signature_idinteger

Electronic Signature ID

move_materials_to_previous_work_completedboolean

A boolean indicating if should move materials to previous work completed.

summary_textobject

Requisition (Subcontractor Invoice) summary text

summaryobject

Requisition (Subcontractor Invoice) summary

created_byobject

Login Information

custom_fieldsobject

currency_configurationobject

Requisition (Subcontractor Invoice) Currency Configuration

attachmentsarray

Attachments

itemsarray

Requisition items. Included only when the views query param includes 'extended' or 'items'.

item_packagesarray

Requisition item packages. An item package can have either a contract or change order as its parent entity. Included only when the views query param includes 'extended' or 'items'.

Example Response
1{
2 "id": 58820,
3 "previous_requisition_id": 58819,
4 "project_id": 789,
5 "billing_date": "2013-11-20",
6 "created_at": "2013-11-15T12:00:00Z",
7 "updated_at": "2013-11-15T12:00:00Z",
8 "commitment_id": 701973,
9 "commitment_type": "WorkOrderContract",
10 "contract_name": "Contract SC-001",
11 "deletable": false,
12 "final": true,
13 "vendor_name": "Ernie's Electrical",
14 "vendor_id": 8881212,
15 "invoice_number": 123,
16 "invoice_type": "progress_and_retainage_release",
17 "origin_data": "XYZ-0012",
18 "origin_id": "abc-123",
19 "payment_date": "2013-11-15",
20 "percent_complete": 0,
21 "period_id": 4293,
22 "requisition_start": "2013-11-01",
23 "requisition_end": "2013-11-02",
24 "status": "approved",
25 "erp_status": "synced",
26 "number": 1,
27 "submitted_at": "2013-11-02",
28 "total_claimed_amount": "100.00",
29 "electronic_signature_id": 701973,
30 "move_materials_to_previous_work_completed": false,
31 "summary_text": {
32 "project_name": "Project",
33 "project_number": "100",
34 "to_general_contractor": "Company A",
35 "requisition_period_start": "2010-01-01",
36 "requisition_period_end": "2010-01-01",
37 "subcontractor_name": "Company B",
38 "subcontractor_street": "101 XYZ Avenue",
39 "subcontractor_city": "New York",
40 "subcontractor_state_code": "NY",
41 "subcontractor_zip": "10101",
42 "subcontractor_country_code": "US",
43 "application_number": "1",
44 "contract_for": "Ceiling Tiles",
45 "contract_date": "2010-01-01"
46 },
47 "summary": {
48 "balance_to_finish_including_retainage": 1268346.55,
49 "completed_work_retainage_percent": 10,
50 "completed_work_retainage_amount": "1201.0",
51 "contract_sum_to_date": 1279159.15,
52 "current_payment_due": 10812.6,
53 "formatted_period": "01/06/19 - 30/06/19",
54 "less_previous_certificates_for_payment": 0,
PATCH /rest/v1.1/requisitions/{id}

Description

Update a specified Requisition (Subcontractor Invoice). Users without admin permissions can only update a requisition (sub invoice) if it is the most recent and has a status of 'draft' or 'revise_and_resubmit'. Users with admin permissions can update a requisition (sub invoice) regardless of its status or whether it is the most recent. Requisition items are optional.

Changelog

Date
Category
Breaking
Summary
Jan 13 2025
Feature
custom_fields will always show independently of project settings.
Oct 30 2024
Feature
Added enforcements to action policy
Oct 05 2024
Feature
Added item packages attribute in response

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

idinteger*

Requisition (Subcontractor Invoice) ID

Query Parameters

viewstring

Specifies which view (which attributes) of the resource is going to be present in the response.

Allowed values:
default
extended
items
action_policy
Example Requests
1const request = require('request');
2
3const options = {
4 method: 'PATCH',
5 url: 'https://api.procore.com/rest/v1.1/requisitions/%7Bid%7D',
6 qs: {view: 'SOME_STRING_VALUE'},
7 headers: {'content-type': 'application/json'},
8 body: {
9 project_id: 55001,
10 commitment_id: 66005,
11 requisition: {
12 items: [
13 {
14 id: 1001,
15 line_item_id: 1001,
16 detail_line_item_id: 1001,
17 item_type: 'contract_detail_item',
18 work_completed_this_period: 1000,
19 materials_presently_stored: 500,
20 materials_presently_stored_from_previous_progress: 250,
21 new_materials: '0.00',
22 stored_materials: '0.00',
23 work_completed_retainage_retained_this_period: 100,
24 materials_stored_retainage_currently_retained: 50,
25 work_completed_retainage_released_this_period: 0,
26 work_completed_this_period_quantity: 10,
27 work_completed_retainage_percent_this_period: 10,
28 materials_stored_retainage_percent_this_period: 10,
29 subcontractor_claimed_amount: 20.5,
30 status: 'rejected',
31 comment: 'This work was not yet completed'
32 }
33 ],
34 period_id: 20093,
35 requisition_start: '2013-10-01',
36 requisition_end: '2013-10-31',
37 billing_date: '2013-10-31',
38 final: true,
39 invoice_number: 'ABC-1234',
40 payment_date: '2013-11-15',
41 origin_data: 'XYZ-0012',
42 origin_id: 'abc-123',
43 status: 'under_review',
44 submitted_at: '2013-11-02',
45 prostore_file_ids: [42],
46 'custom_field_%{custom_field_definition_id}': 'custom field value'
47 }
48 },
49 json: true
50};
51
52request(options, function (error, response, body) {
53 if (error) throw new Error(error);
54

Body Parameters

Body

project_idinteger*

Project ID

commitment_idinteger*

Commitment ID

requisitionobject

Requisition (Subcontractor Invoice)

Example Request Body
1{
2 "project_id": 55001,
3 "commitment_id": 66005,
4 "requisition": {
5 "items": [
6 {
7 "id": 1001,
8 "line_item_id": 1001,
9 "detail_line_item_id": 1001,
10 "item_type": "contract_detail_item",
11 "work_completed_this_period": 1000,
12 "materials_presently_stored": 500,
13 "materials_presently_stored_from_previous_progress": 250,
14 "new_materials": "0.00",
15 "stored_materials": "0.00",
16 "work_completed_retainage_retained_this_period": 100,
17 "materials_stored_retainage_currently_retained": 50,
18 "work_completed_retainage_released_this_period": 0,
19 "work_completed_this_period_quantity": 10,
20 "work_completed_retainage_percent_this_period": 10,
21 "materials_stored_retainage_percent_this_period": 10,
22 "subcontractor_claimed_amount": 20.5,
23 "status": "rejected",
24 "comment": "This work was not yet completed"
25 }
26 ],
27 "period_id": 20093,
28 "requisition_start": "2013-10-01",
29 "requisition_end": "2013-10-31",
30 "billing_date": "2013-10-31",
31 "final": true,
32 "invoice_number": "ABC-1234",
33 "payment_date": "2013-11-15",
34 "origin_data": "XYZ-0012",
35 "origin_id": "abc-123",
36 "status": "under_review",
37 "submitted_at": "2013-11-02",
38 "prostore_file_ids": [
39 42
40 ],
41 "custom_field_%{custom_field_definition_id}": "string"
42 }
43}

Responses

Body

idinteger

ID

previous_requisition_idinteger

ID for the previous requisition before this one on the same contract

project_idinteger

Project ID

billing_datestring(format: date)

Billing date

created_atstring(format: date-time)

Date req was created

updated_atstring(format: date-time)

Date req was last updated

commitment_idinteger

commitment ID

commitment_typestring

Commitment Type

contract_namestring

Contract Name

deletableboolean

A boolean indicating whether or not the invoice can be deleted.

finalboolean

true or false value indicating whether or not this is the final invoice

vendor_namestring

Name of Vendor for Invoice

vendor_idinteger

ID of Vendor for Invoice

invoice_numberstring

Invoice number

invoice_typestring

Invoice type (present in all views)

origin_datastring

Requisition (Subcontractor Invoice) third party data

origin_idstring

Requisition (Subcontractor Invoice) third party ID

payment_datestring(format: date)

Date requisition was paid

percent_completestring

Percent complete

period_idinteger

Period ID

requisition_startstring(format: date)

Requisition (Subcontractor Invoice) start date

requisition_endstring(format: date)

Requisition (Subcontractor Invoice) end date

statusstring

Status

Allowed values:
draft
under_review
revise_and_resubmit
approved
approved_as_noted
pending_owner_approval

erp_statusstring

Current ERP status of Requisition

numberinteger

Requisition (Subcontractor Invoice) number

submitted_atstring(format: date)

Date requisition was submitted

total_claimed_amountstring

Total Claimed Amount for the Invoice

electronic_signature_idinteger

Electronic Signature ID

move_materials_to_previous_work_completedboolean

A boolean indicating if should move materials to previous work completed.

summary_textobject

Requisition (Subcontractor Invoice) summary text

summaryobject

Requisition (Subcontractor Invoice) summary

created_byobject

Login Information

custom_fieldsobject

currency_configurationobject

Requisition (Subcontractor Invoice) Currency Configuration

attachmentsarray

Attachments

itemsarray

Requisition items. Included only when the views query param includes 'extended' or 'items'.

item_packagesarray

Requisition item packages. An item package can have either a contract or change order as its parent entity. Included only when the views query param includes 'extended' or 'items'.

Example Response
1{
2 "id": 58820,
3 "previous_requisition_id": 58819,
4 "project_id": 789,
5 "billing_date": "2013-11-20",
6 "created_at": "2013-11-15T12:00:00Z",
7 "updated_at": "2013-11-15T12:00:00Z",
8 "commitment_id": 701973,
9 "commitment_type": "WorkOrderContract",
10 "contract_name": "Contract SC-001",
11 "deletable": false,
12 "final": true,
13 "vendor_name": "Ernie's Electrical",
14 "vendor_id": 8881212,
15 "invoice_number": 123,
16 "invoice_type": "progress_and_retainage_release",
17 "origin_data": "XYZ-0012",
18 "origin_id": "abc-123",
19 "payment_date": "2013-11-15",
20 "percent_complete": 0,
21 "period_id": 4293,
22 "requisition_start": "2013-11-01",
23 "requisition_end": "2013-11-02",
24 "status": "approved",
25 "erp_status": "synced",
26 "number": 1,
27 "submitted_at": "2013-11-02",
28 "total_claimed_amount": "100.00",
29 "electronic_signature_id": 701973,
30 "move_materials_to_previous_work_completed": false,
31 "summary_text": {
32 "project_name": "Project",
33 "project_number": "100",
34 "to_general_contractor": "Company A",
35 "requisition_period_start": "2010-01-01",
36 "requisition_period_end": "2010-01-01",
37 "subcontractor_name": "Company B",
38 "subcontractor_street": "101 XYZ Avenue",
39 "subcontractor_city": "New York",
40 "subcontractor_state_code": "NY",
41 "subcontractor_zip": "10101",
42 "subcontractor_country_code": "US",
43 "application_number": "1",
44 "contract_for": "Ceiling Tiles",
45 "contract_date": "2010-01-01"
46 },
47 "summary": {
48 "balance_to_finish_including_retainage": 1268346.55,
49 "completed_work_retainage_percent": 10,
50 "completed_work_retainage_amount": "1201.0",
51 "contract_sum_to_date": 1279159.15,
52 "current_payment_due": 10812.6,
53 "formatted_period": "01/06/19 - 30/06/19",
54 "less_previous_certificates_for_payment": 0,
DELETE /rest/v1.1/requisitions/{id}

Description

Delete specified Requisition (Subcontractor Invoice)

Changelog

Date
Category
Breaking
Summary
Jul 20 2023
New
Delete Requisition (Subcontractor Invoice) is now publicly available.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

idinteger*

Requisition (Subcontractor Invoice) ID

Query Parameters

project_idinteger*

Unique identifier for the project.

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'DELETE',
5 url: 'https://api.procore.com/rest/v1.1/requisitions/%7Bid%7D',
6 qs: {project_id: 'SOME_INTEGER_VALUE'}
7};
8
9request(options, function (error, response, body) {
10 if (error) throw new Error(error);
11
12 console.log(body);
13});
14

Responses

200(OK)

PATCH /rest/v2.0/companies/{company_id}/projects/{project_id}/requisitions/{id}/payment_details

Description

Updates the Due Date for a Requisition (Subcontractor Invoice)

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

company_idstring*

Unique identifier for the company.

project_idstring*

Unique identifier for the project.

idstring*

Unique identifier for the Requisition (Subcontractor Invoice)

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'PATCH',
5 url: 'https://api.procore.com/rest/v2.0/companies/%7Bcompany_id%7D/projects/%7Bproject_id%7D/requisitions/%7Bid%7D/payment_details',
6 headers: {'content-type': 'application/json'},
7 body: {due_date: '2024-02-02'},
8 json: true
9};
10
11request(options, function (error, response, body) {
12 if (error) throw new Error(error);
13
14 console.log(body);
15});
16

Body Parameters

Body

due_datestring

Payment Due Date for the Requisition (Subcontractor Invoice)

Example Request Body
1{
2 "due_date": "2024-02-02"
3}

Responses

Body

dataobject

Example Response
1{
2 "data": {
3 "due_date": "2024-02-02"
4 }
5}