See something we could improve on this page? Give website feedback.
Invitation to use Portland’s OCDS publication
Portland’s OCDS publication may be intimidating to you, perhaps because you don’t consider yourself a “data person.” This is a myth. You are a data person. We are all data people because data tells our stories - about what we value, what happened, what will happen, and what we should do about it. Being a “data person” only takes curiosity and the courage to ask questions. You may also think that city procurements and contracts are irrelevant to the pressing and routine issues that you care about in Portland. This too is a myth. Public procurements and contracts are essential to the public goods and services that we rely on everyday such as clean drinking water, safe streets, waste management, access to nature and greenspaces, programs for youth, and emergency management.
The use of Portland’s Open Contracting Data Standard publication will make Portland’s procurements and contracts better, making our public goods and services better. Better procurements could mean being faster, simpler, and more transparent with cost savings and cost recovery. Better could mean contract opportunity forecasting for the next five years for small and large businesses. Better could mean supporting small- and medium-sized suppliers to fairly compete for contracts, deliver improved value and services for residents, and grow their business.
Explore Portland’s Open Contracting Data Standard publication to “read” our stories; to learn whether our spending in contracts match the city goods and services essential to our family, friends, and neighbors and us; and to drive the vision of how we will make Portland’s procurements and contracts, and thus, Portland, better.
Getting Started
Are you new to the Open Contracting Data Standard? Reading the Primer will familiarize you with key concepts behind OCDS.
Purpose of Publication
The City of Portland’s Open Contracting Data Standard publication makes information on City procurements and contracts accessible online and in open formats so it can be used, reused, and redistributed by any interested party.
Publication details
Creation of OCDS datasets
First, the City of Portland provides raw data from Buyspeed, SAP, and B2G, and stores it in HCP Anywhere. Second, the normalization procedure converts the raw data into a structured format that is readable by the system. Third, the data converts from normalized data to the standardized OCDS format (version 1.1), using the internal mappings. When the conversion step completes, the system indexes the result for search and download. Finally, the system filters, removes duplicates, compiles, and publishes the final OCDS data. Bulk downloads on the City of Portland’s OCDS Publication page updates every two weeks due to a highly time-consuming conversion process. The City also updates the raw data on the same two-week schedule.
OCID generation
Open Contracting ID (ocid) is a globally unique identifier used to join data in all stages of the contracting process. Ocid consists of a prefix and an identifier. Portland’s publication uses ocds-ptecst as the prefix, and REQ_NBR from BuySpeed or Purchasing Document from SAP as the identifier. The use of REQ_NBR or Purchasing Document for the ocid depends on whether City employees initiated the procurement in BuySpeed or SAP. Typically, BuySpeed, the City’s electronic procurement portal, does not record small direct procurements (i.e., Distributed Purchase Orders or DPOs) and some intermediate direct procurements (i.e. Purchase Orders or POs) because bureaus initiate those procurements with little to no participation from Procurement Services. Portland registered the ocds-ptecst prefix on 2024-02-13.
OCDS Release peculiarities
(Source: How is OCDS data published?)
Portland’s OCDS releases disclose data about the following:
- Tender: the activities undertaken to enter a contract. In the United States, we often refer to tender as the solicitation or bidding activities such as a Request for Proposals (RFP).
- Award: award for the given procurement. More than one award per contracting process is possible.
- Contract: information regarding the signed contract between City and the supplier(s).
- Implementation: implementation information of the contract in accordance with the obligations specified in that contract.
Portland captures procurement data in three centralized systems: BuySpeed (electronic procurement portal), SAP (enterprise resource planning software), and B2G (contract compliance software), managed by Procurement Services. Some bureaus also use supplemental systems like Airtable to record additional information not in BuySpeed, SAP, or B2G. Each system shares details on different contract stages that do not synchronize. As Portland’s OCDS usage matures, we expect to map additional supplemental data from more bureaus such as budget (planning) and project management (implementation).
Every two weeks, a data analyst in Procurement Services extracts reports in Excel (.xlsx) and uploads them to HCP Anywhere. Published releases can differ depending on the presence or not of procurement data in all the source systems listed above. Currently, those reports include:
- BuySpeed “Projects” report
- BuySpeed “Quotes per Bid” report
- SAP “Contract Listing Report”
- SAP “Purchase Orders Listing Report”
- B2G “Contract Status Report”
Although Portland attempts to publish data in the best quality, data quality issues remain as we introduce and implement quality data controls. In the interest of operational transparency, Portland chooses to publish data with poor quality with the goal of improving data quality over time. If users find errors in the data, please share details on the error reporting form. For more information on our data cleanup efforts, view our data cleanup reports and track our progress.
Processes and Stages Covered
Releases contain information on open, selective, limited and direct procurement procedures since April 29, 2015 and current ongoing procedures. Recently, as part of the Transition Project, Portland adopted new procurement policies, Public Contracting Rules, in March 2025 that became retroactively effective January 1, 2025. Portland’s OCDS release mapped local data to OCDS under previous procurement policies and rules prior to January 1, 2025. Portland’s OCDS publication will reflect these changes in future updates. For reference, the threshold before the new policies became effective are noted below.
Open: competitive procurement procedures that result in an outline agreement
| Main Procurement Category | Before January 1, 2025 |
|---|---|
Intermediate Goods and Services Professional, Technical, and Expert Services | Over $50K to $150K
|
| Intermediate Construction | Over $5K to $100K |
Formal Goods and Services Professional, Technical, and Expert Services | Over $150K |
| Formal Construction | Over $100K |
Selective: procurement procedures that share all the same features as Open, but also have additional technical, economic or suitability selection criteria to enable the participation in the tender or solicitation process.
Limited: limited competitive procurement procedures that result in an outline agreement or a purchase order (PO)
| Main Procurement Category | Before January 1, 2025 |
|---|---|
| Intermediate Goods and Services ITB | $50K or less
|
| Goods and Services QRF (now called Oregon Forward) | At any threshold |
| Goods and Services Cooperative | At any threshold |
Direct: non-competitive procurement procedures that results in a distributed purchase order (DPO) or an outline agreement
| Main Procurement Category | Before January 1, 2025 |
|---|---|
Small Goods and Services RFP Small RFP | $10K or less
|
| Small Construction | $5K or less |
| Direct Contracts | $150K or less |
Emergency Special Procurement Sole Source Procurement | At any threshold |
Date Fields
All dates are presented in Pacific Daylight Time (PDT) or Pacific Standard Time (PST) fully corresponding to the source data. Final release dates will have a “-7” or “-8” suffix depending if Daylight Savings Time (DST) is in effect on the specific date.
If the source date does not have time indicated, then it is reported as midnight of the given date. Typical date-only value would then look like:
- 1/1/2018 > 2018-01-01T00:00:00-8
- 6/1/2018 > 2018-06-01T00:00:00-7
Parties
The party object with Buyer, Procuring Entity and Payer roles represents a bureau at the City of Portland that initiated the procurement. The party that has Tenderer, Supplier and Payee roles is the winner of the tender. This is the company that signed a contract with the City of Portland.
Subcontractors are third parties that perform part of a contract on behalf of a supplier. We only list subcontractors that have specific certifications, e.g. Emerging Small Business. Data on subcontractors come from B2G, which only captures subcontractors for Construction and Professional, Technical, Expert (PTE) services contracts. See our developing use case to include subcontractors for Goods and Services contracts.
Parties ID
For the parties with roles Buyer, Procuring Entity and Payer we used the standard approach that says to combine {parties/identifier/scheme} and {parties/identifier/id}.
But for the parties with Tenderer, Supplier and Payee roles we form the ID using {parties/additionalIdentifiers/id} and {parties/additionalIdentifiers/scheme} as it is the BuySpeed data that appears earlier than data from other systems.
Section Criteria
Users may encounter several selection criteria types in the published release:
- Technical criterion means that the vendors must be prequalified in certain areas of work in order to submit a proposal. Please see the City of Portland's prequalification requirements for more info.
- Economic criterion means that vendors should be capable to execute a contract of a specified amount within certain areas of work listed in the technical criterion.
- Suitability criterion warns that only vendors in the Prime Contractor Development Program may bid, and the contract opportunity is not publicly shared.
Contract Items
Information on contract items is provided gradually as the contract purchase orders are created during the contract implementation phase. These are parts of the contract that are performed separately, each having its own scope, value and timeframes.
One contract can have multiple purchase orders, and each purchase order can bring information about several items. Currently, the City does not consistently document information about contract items, which is an issue that we hope to address. See our developing use case to consistently document information about contract items.
Contract Milestones
Contract milestones are used to keep track of the contract approval and represent several authorities that should sign off on the contract before it can be considered as finalized. Each finalized contract should have 2 or 4 sign-offs:
- Contract Administrator and City Auditor’s approval
- Contract Administrator, City Attorney, Purchasing Agent and City Auditor’s approval
Each authority's approval will result in one contract milestone.
Only achieved signoffs are published in the release. Information on the upcoming signoffs is not disclosed.
Recently, as part of the Transition Project, Portland adopted new procurement policies, Public Contracting Rules, in March 2025 that became retroactively effective January 1, 2025. As a result, Portland added additional milestones. Portland’s OCDS publication will reflect these changes in future updates.
Contract Agreed Metrics
Portland uses agreed metrics in the releases to report about certified prime and subcontractors that took part in the contract implementation. Each agreed metric object represents a specific certification (e.g. DBE that stands for Disadvantaged Business Enterprise) and reports the corresponding amount for that certification under said contract.
In statistics, an observation is one occurrence of something being measured. Each agreed metric contains one or multiple observations. Each observation has value, which represents payments and dimensions that reference the prime contractor or subcontractor that hold this certification and performed some work within this contract. Note that the City of Portland counts certification towards our goals at the time of award, and the agreed metrics counts the payments.
Below we provide an illustration, and we use “companyName” to mask the business names in the example.
| "agreedMetrics": [ { "id": "DBE", "title": "Disadvantaged Business Enterprise", "description": "Amount of money registered under the DBE certification in this contract", "observations": [ {"id": "30006036-20222608-2018-07-31T17:00:00Z", "period": { "endDate": "2018-07-31T17:00:00Z" }, "value": { "amount": "7492", "currency": "USD" }, "dimensions": { "id": "US_OR-PDX-BS-VNBR-00001111", "name": "companyName1" } }, { "id": "30006036-20476458-2018-10-31T17:00:00Z", "period": { "endDate": "2018-10-31T17:00:00Z" }, "value": { "amount": "98509.74", "currency": "USD" }, "dimensions": { "id": "US_OR-PDX-BS-VNBR-00002222", "name": "companyName2" } } ] }, { "id": "WBE", "title": "Women Business Enterprise", "description": "Amount of money registered under the WBE certification in this contract", "observations": [ { "id": "30006036-20223579-2018-04-30T17:00:00Z", "period": { "endDate": "2018-04-30T17:00:00Z" }, "value": { "amount": "102487.6", "currency": "USD" }, "dimensions": { "id": "US_OR-PDX-BS-VNBR-00003333", "name": "companyName3" } }, { "id": "30006036-20223579-2019-01-31T16:00:00Z", "period": { "endDate": "2019-01-31T16:00:00Z" }, "value": { "amount": "53122.75", "currency": "USD" }, "dimensions": { "id": "US_OR-PDX-BS-VNBR-00004444", "name": "companyName4" } } ] }, { "id": "MBE", "title": "Minority Business Enterprise", "description": "Amount of money registered under the MBE certification in this contract", "observations": [ { "id": "30006036-20314591-2019-04-30T17:00:00Z", "period": { "endDate": "2019-04-30T17:00:00Z" }, "value": { "amount": "10598.2", "currency": "USD" }, "dimensions": { "id": "US_OR-PDX-BS-VNBR-00005555", "name": "companyName5" } } ] } ] |
Currently agreed metrics pull from B2G data, which is limited to Professional, Technical, Expert services and Construction contracts. See our developing use case to expand agreed metrics to Goods and Services contracts.
Contract Implementation Transactions
Transactions represent all the payments that were performed within the contract’s purchase orders. Each transaction value is equal to the value of the purchase order item, thus transactions in the published release can be more granular than the actual bank transactions. For example, the City may issue one bank transaction or payment for six purchase order items.
Contract Implementation Milestones
Users can find two types of milestones in the published release. 1) Payment milestones forms from contract purchase orders and 2) delivery milestones from task orders. Differentiate payment and delivery milestones by the prefixes PO- and TO-.
Contract Implementation Metrics
Portland uses contract implementation metrics in the releases to report about certified prime and subcontractors that took part in the contract task order implementation. Each metric object represents a specific certification (e.g. DBE that stands for Disadvantaged Business Enterprise) and reports the corresponding amount for that certification under said contract.
Each agreed metric contains one or multiple observations. Each observation has value, which represents payments and dimensions that reference the prime contractor or subcontractor that hold this certification and performed some work within this contract.
Contract implementation metrics may disclose information coming from B2G or from supplemental reporting systems such as Airtable.
Task Orders
Task orders, a custom extension object that is very similar to the structure of purchase orders, have their own ID, title, and status; link to purchase order; execution period; and value. Currently, task order data in the dataset only comes from one bureau, who provided Procurement Services access to their data early in Portland’s OCDS project. Other bureaus who wish to include their task order data in the dataset should contact Procurement Services to map their data onto the same data schema. See our developing use case to include more task orders into Portland’s OCDS dataset.
Accessing the data
OCDS data
The City of Portland makes OCDS data available in the following formats to meet the needs of different users.
| Format | Description |
| Bulk OCDS release download (JSON) | Annual files segmented by release date Suitable for analysis and/or storage in a document database |
| Bulk OCDS release download (XLSX) | Annual ZIP archive containing a multi-table XLSX serialization of OCDS data, segmented by release date. Suitable for analysis in spreadsheet software and/or storage in a relational database. |
Data scope
| Dates | Portland’s dataset includes data generated in BuySpeed and SAP on or after April 29, 2015 and in B2G on or after July 1, 2017. |
| Buyers | The City of Portland is the single buyer for all City contracts. This publication includes a breakdown of contracts and purchases by specific bureaus and offices. Note that users should not confuse the OCDS term “Buyer” with the local term “Buyer,” referring to Procurement Services staff assigned to the procurement project. Procurements and contracts for the Portland Housing Bureau, Prosper Portland, the Office of the City Auditor, or the Office of the City Attorney may not be included or fully included in our dataset because they do not record their contracts in the same system or they may follow different procurement rules. |
| Values | Although the City of Portland may execute contracts for any amount, most procurements that fall under the small procurement threshold are purchased using a Procurement Card and not included in the publication. Data from B2G is limited to Construction and Professional, Technical, Expert services (now referred to as Personal Services under the Public Contracting Rules) contracts valued at $150K or more or it is contract that meets the following criteria:
|
| Process types | Open, selective, limited and direct tenders for purchases |
| Stages | We publish tender, awards, contracts and contracts implementation data for each procurement process if data is available. We do not publish planning data as it is not available in structured format yet. |
| Change History | A change history for each contracting process is provided through releases associated with each contract’s id (OCID). This is published every two weeks as noted in “Creation of OCDS datasets.” |
Codes, codelists, and extensions used in the data publication
The data includes the following additional fields:
| Path | Title | Description | Type | Required |
| tender/identifiers | Primary identifier | OCDS 1.2 field Additional identifiers for this tender. This field can be used to provide local identifiers for the tender. | array | no |
| tender/identifiers | Primary identifier | OCDS 1.2 field Additional identifiers for this tender. This field can be used to provide local identifiers for the tender. | object | no |
| tender/identifiers/scheme | Scheme | OCDS 1.2 field The list, register or system from which the identifier is taken. If the scope of the list, register or system from which the identifier is drawn is national, it is suggested to follow the pattern {ISO 3166-1 alpha-2}-{system}. If it is subnational, it is suggested to follow the pattern {ISO 3166-2}-{system}. | string | no |
| tender/identifiers/id | ID | OCDS 1.2 field The identifier taken from the scheme. | string | no |
The data includes the following additional codelist values:
| Codelist | Code | Title | Description |
| partyRole.xlsx | subcontractor | Subcontractor | An organization that will perform part of a contract on behalf of a supplier. Subcontracting extension. |
| appliesTo.xlsx | supplier | Supplier | The selection criterion applies to the suppliers. Selection Criteria extension. |
| appliesTo.xlsx | subcontractor | Subcontractor | The selection criterion applies to the subcontractors. Selection Criteria extension. |
| selectionCriterionType.xlsx | economic | Economic | The criterion relates to the economic or financial standing of the tenderer. Selection Criteria extension. |
| selectionCriterionType.xlsx | technical | Technical | The criterion relates to the technical or professional ability of the tenderer. Selection Criteria extension. |
| selectionCriterionType.xlsx | suitability | Suitability | The criterion relates to the suitability of the tenderer (e.g. enrolment in trade register or membership of professional organization). Selection Criteria extension. |
| selectionCriterionType.xlsx | other | Other | The criterion relates to other aspects of the tenderer. Selection Criteria extension. |
| itemClassificationScheme.xlsx | NIGP | NIGP | The National Institute of Governmental Purchasing (NIGP) Code is a descriptive/numeric system used for identifying products and services. |
List of extensions
| Name | Description | Documentation |
| Subcontracting | We only use a “subcontractor” role out of the whole extension to list parties with this role | https://extensions.open-contracting.org/en/extensions/subcontracting/master/codelists/ |
| Selection Criteria | Adds an object to describe the criteria to qualify candidates to participate in a contracting process. | https://extensions.open-contracting.org/en/extensions/selectionCriteria/master/schema/ |
| Award criteria breakdown | This extension is only listed to enable the usage of Selection Criteria extension. It’s not used in the publication itself. | https://extensions.open-contracting.org/en/extensions/awardCriteria/master/schema/ |
| Transaction related milestones | This extension adds a relatedImplementationMilestone field to transaction objects, so that payments against a contract can be linked with an implementation milestone. | https://extensions.open-contracting.org/en/extensions/transaction_milestones/master/ |
| Metrics | The metrics extension provides a common building block for reporting structured performance information on contracts. | https://extensions.open-contracting.org/en/extensions/metrics/1.1/schema/ |
| Purchase Order | Information regarding the purchase orders made in the implementation of a contract. | https://gitlab.com/dncp-opendata/ocds_contract_implementation_purchaseOrder_extension/-/blob/master/release-schema.json?ref_type=heads |
| Related purchase order | The purchase order ID related to the specific milestone | https://gitlab.com/dncp-opendata/ocds_contract_implementation_purchaseOrder_extension/-/blob/8ca02062e963d540ff81910479a8d1fd4d1b37b4/release-schema.json#L43-55 |
| Task Order | This extension enables the recording of task orders within the implementation section of an OCDS release. Task orders are specific scopes of work issued under a base contract, commonly used in contexts like On-Call contracts or Price Agreements. | https://github.com/open-contracting-extensions/ocds_task_orders_extension/blob/main/release-schema.json |
License
The City of Portland publishes the data included in the OCDS under the Open Data Commons Public Domain Dedication and License (PDDL 1.0). This open license ensures compliance with the Open Definition and grants users the right to:
- Use this data for any purpose, including both commercial and non-commercial use;
- Create and publish new content or analyses based on this data;
- Re-publish the data, on the condition that any link to the original source remains intact; and
- Exercise all other permissions outlined in the full license text.
By adopting an open license, we encourage transparency, collaboration, and innovation. We recommend that users refer to the PDDL 1.0 license for complete details on permitted uses, and we encourage linking to this license in all related data portals and documentation to ensure clarity around the data’s reuse rights.[3]
Additional documentation
This section provides links to some additional documentation:
- A link to the OCDS standard documentation
- Additional source data dictionary developed to support the publication:
Disclaimer
Access to the City of Portland’s Open Contracting Data Standard publication, does not imply that the City of Portland, has verified the veracity, accuracy, adequacy, suitability, completeness and timeliness of the information provided through our site. Procurement data provided by the City of Portland includes data from Vendors. The City of Portland cannot guarantee that data provided by the different entities contributing to OCDS data is kept up to date. The information contained in the documents accompanying the procurement process are digitalizations of the documents. Any publication constitutes a faithful and complete compilation of the document issued by the official entity, without additions, deletions or corrections of any nature. The City of Portland is not responsible for the decisions taken from the information disseminated in the City of Portland’s Open Contracting Data Standard publication or for possible damages caused to the visiting user or to third parties due to actions that are based solely on the information obtained on the site. The City of Portland may carry out, at any time and without prior notice, modifications and updates on the information contained in the City of Portland’s Open Contracting Data Standard publication or its configuration or presentation.
Appendix - Data dictionary
* “+ Dictionary” means that the source value was transformed into more verbose one with the help of
** “+Codelist mapping” means that the source value was mapped to the equivalent OCDS value with the help of OCDS - Codelist Mapping Template for OCDS 1.1.5 (Template Version 0.2) #Portland.
Undefined Mapping
| OCDS | Source |
| GENERAL | |
| ocid | ocid consists of
e.g. ocds-ptecst-127449 |
| date | BuySpeed Req - In Progress Date |
| id | party IDs are built from
e.g.
|
| buyer/name | BuySpeed Bureau Name (Req Header Column 1 Value + Dictionary) |
| parties/name | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| parties/identifier/id | buyer/procuringEntity/payer
|
| parties/identifier/legalName | buyer/procuringEntity/payer
|
| parties/additionalIdentifiers/id | tenderer/supplier/payee
|
| parties/additionalIdentifiers/legalName | tenderer/supplier/payee
|
| TENDER | |
| tender/id | BuySpeed Requisition Number (REQ_NBR) |
| tender/title | BuySpeed SHORT_DESC |
| tender/status | BuySpeed Current Header Status and Descriptions + Codelist mapping |
| tender/identifiers/id | BuySpeed Bid Number |
| tender/procuringEntity/name | BuySpeed Req Header Column 1 Value + Dictionary |
| tender/value/amount | BuySpeed Req Header Column 5 Value |
| tender/procurementMethod | determined by the combination of values in the following source fields:
|
| tender/mainProcurementCategory | derives from the one of the listed fields in the given order
|
| tender/awardCriteria |
|
| tender/submissionMethod | depends on tender/procurementMethod:
|
| tender/tenderPeriod/startDate | BuySpeed Bid - In Progress Date |
| tender/tenderPeriod/endDate | BuySpeed Bid - Opened Date |
| tender/enquiryPeriod/endDate | BuySpeed Bid - Opened Date |
| tender/awardPeriod/startDate | BuySpeed PO - In Progress Date |
| tender/selectionCriteria/criteria/type | derives from the column that provides the data:
|
| tender/selectionCriteria/criteria/description | technical/economic
|
| tender/selectionCriteria/criteria/minimum |
|
Outline Agreement Mapping
| OCDS | Source |
| GENERAL | |
| ocid | ocid consists of
e.g. ocds-ptecst-127449 |
| date | BuySpeed Req - In Progress Date |
| id | party IDs are built from
e.g.
|
| buyer/name | BuySpeed Bureau Name (Req Header Column 1 Value + Dictionary) |
| parties/name | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
subcontractor
| |
| parties/identifier/id | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
subcontractor
| |
| parties/identifier/legalName | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
subcontractor
| |
| parties/additionalIdentifiers/id | tenderer/supplier/payee
|
| parties/additionalIdentifiers/legalName | tenderer/supplier/payee
|
| TENDER | |
| tender/id | BuySpeed Requisition Number (REQ_NBR) |
| tender/title | BuySpeed SHORT_DESC |
| tender/status | BuySpeed Current Header Status and Descriptions + Codelist mapping |
| tender/identifiers/id | BuySpeed Bid Number |
| tender/procuringEntity/name | BuySpeed Req Header Column 1 Value + Dictionary |
| tender/value/amount | BuySpeed Req Header Column 5 Value |
| tender/procurementMethod | determined by the combination of values in the following source fields:
|
| tender/mainProcurementCategory | derives from the one of the listed fields in the given order
|
| tender/awardCriteria |
|
| tender/submissionMethod | depends on tender/procurementMethod:
|
| tender/tenderPeriod/startDate | BuySpeed Bid - In Progress Date |
| tender/tenderPeriod/endDate | BuySpeed Bid - Opened Date |
| tender/enquiryPeriod/endDate | BuySpeed Bid - Opened Date |
| tender/awardPeriod/startDate | BuySpeed PO - In Progress Date |
| tender/selectionCriteria/criteria/type | derives from the column that provides the data:
|
| tender/selectionCriteria/criteria/description | technical/economic
|
| tender/selectionCriteria/criteria/minimum |
|
| AWARD | |
| awards/id | BuySpeed Alternate Id (it corresponds to SAP “Contract Listing Report” Purchasing Document number) |
| awards/title | SAP “Contract Listing Report” Short text of item 10 |
| awards/status | BuySpeed PO Status + Codelist mapping |
| awards/date | BuySpeed PO - In Progress Date |
| awards/value/amount |
|
| awards/suppliers/name | BuySpeed Vendor Name |
| awards/contractPeriod/startDate | SAP “Contract Listing Report” Validity Per. Start |
| awards/contractPeriod/endDate | SAP “Contract Listing Report” Validity Period End |
| awards/documents/id | SAP “Contract Listing Report” Our Reference number |
| CONTRACT | |
| contracts/id | BuySpeed Alternate Id (it corresponds to SAP “Contract Listing Report” Purchasing Document number) |
| contracts/awardID | BuySpeed Alternate Id (it corresponds to SAP “Contract Listing Report” Purchasing Document number) |
| contracts/title | SAP “Contract Listing Report” Short text of item 10 |
| contracts/description | SAP “Contract Listing Report” Description of item 10 |
| contracts/status | pending
active
terminated
|
| contracts/period/startDate | SAP “Contract Listing Report” Validity Per. Start |
| contracts/period/endDate | SAP “Contract Listing Report” Validity Period End |
| contracts/value/amount | sum of
|
| contracts/items/id | item ID contains
e.g. 22298257-10 |
| contracts/items/description | SAP ”PO Listing Report” Short Text |
| contracts/items/classification/id | SAP ”PO Listing Report” Material Group |
| contracts/items/classification/description | SAP ”PO Listing Report” Material Group + Dictionary |
| contracts/items/quantity | SAP “PO Listing Report” Order Quantity |
| contracts/items/unit/id | SAP/PO Listing Report/Order Unit + Dictionary
|
| contracts/items/unit/name | SAP/PO Listing Report/Order Unit + Dictionary
|
| contracts/milestones/id | each contract milestone ID is formed out of:
e.g. 190404-30007897-CA |
| contracts/milestones/title | part of SAP “Contract Listing Report” Releases to Dte + Dictionary e.g. Contract Administrator |
| contracts/milestones/description | part of SAP “Contract Listing Report” Releases to Dte + Dictionary |
| contracts/milestones/code | part of SAP “Contract Listing Report” Releases to Dte e.g. CA |
| contracts/agreedMetrics/id | B2G Primary Certification Type e.g. DBE |
| contracts/agreedMetrics/title | B2G Primary Certification Type + Dictionary e.g. Disadvantaged Business Enterprise |
| contracts/agreedMetrics/description | B2G Primary Certification Type + Dictionary |
| contracts/agreedMetrics/observations/id | observation ID contains values from the following fields:
e.g. 30004899-20321600-2017-09-30T17:00:00-07:00 |
| contracts/agreedMetrics/observations/dimensions/id | B2G B2Gnow ID |
| contracts/agreedMetrics/observations/dimensions/name | B2G Business Name |
| contracts/agreedMetrics/observations/value/amount | B2G Amount Paid of a specific certified prime- or subcontractor |
| contracts/agreedMetrics/observations/period/endDate | B2G Date Paid |
| IMPLEMENTATION | |
| contracts/implementation/transactions/id | transactions ID is a combination of
Each PO item results into an individual transaction e.g. 22298257-10 |
| contracts/implementation/transactions/date | SAP ”PO Listing Report” Delivery Date |
| contracts/implementation/transactions/value/amount | SAP “PO Listing Report” Total Invoiced to Date |
| contracts/implementation/transactions/payer/name | BuySpeed Req Header Column 1 Value + Dictionary |
| contracts/implementation/transactions/payee/name | BuySpeed Vendor Name |
| contracts/implementation/transactions/purchaseOrderID | corresponding SAP “PO Listing Report” Purchasing Document number |
| contracts/implementation/transactions/relatedImplementationMilestone/id | equal to the corresponding contracts/implementation/milestones/id |
| contracts/implementation/transactions/relatedImplementationMilestone/title | equal to the corresponding contracts/implementation/milestones/title |
| contracts/implementation/milestones/id | Purchase Orders milestone ID contains:
e,g, PO-22298257-10 |
Task Orders milestone ID contains:
e.g. TO-30007897-22298257 | |
| contracts/implementation/milestones/title | Purchase Orders milestone
|
Task Orders milestone
| |
| contracts/implementation/milestones/type | Purchase Orders milestone = payment Task Orders milestone = delivery |
| contracts/implementation/milestones/dueDate | Purchase Orders milestone
|
Task Orders milestone
| |
| contracts/implementation/milestones/status | scheduled = PO is not invoiced yet
partiallyMet = PO is partially invoiced
met = PO is fully invoiced
notMet = PO is not invoiced and overdue
|
| contracts/implementation/milestones/purchaseOrderID | corresponding SAP “PO Listing Report” Purchasing Document number |
| contracts/implementation/metrics/id | derives from the column name that provides data
|
| contracts/implementation/metrics/title | Airtable DBE/MBE/WBE/ESB/SDVBE Amt + Dictionary |
| contracts/implementation/metrics/description | Airtable DBE/MBE/WBE/ESB/SDVBE Amt + Dictionary |
| contracts/implementation/metrics/observations/id | observation ID consists of:
e.g. 31001472-1-20224294 |
| contracts/implementation/metrics/observations/period/startDate | Airtable Start date |
| contracts/implementation/metrics/observations/period/endDate | Airtable End date |
| contracts/implementation/metrics/observations/dimensions/id | Airtable B2G ID |
| contracts/implementation/metrics/observations/dimensions/name | Airtable Contractor Name |
| contracts/implementation/metrics/observations/value/amount | Airtable Certified $ |
| contracts/implementation/purchaseOrders/id | SAP “PO Listing Report” Purchasing Document number |
| contracts/implementation/purchaseOrders/title | SAP “PO Listing Report” Short Text of item 10 |
| contracts/implementation/purchaseOrders/executionPeriod/startDate | Min date out of all PO items
|
| contracts/implementation/purchaseOrders/executionPeriod/endDate | Max date out of all PO items
|
| contracts/implementation/taskOrders/id | Airtable TO # |
| contracts/implementation/taskOrders/title | Airtable TO Name |
| contracts/implementation/taskOrders/purchaseOrderID | Airtable DPO# |
| contracts/implementation/taskOrders/executionPeriod/startDate | Airtable Start date |
| contracts/implementation/taskOrders/executionPeriod/endDate | Airtable End date |
| contracts/implementation/taskOrders/value/amount | Airtable Amount |
BuySpeed+PO Mapping
| OCDS | Source |
| GENERAL | |
| ocid | ocid consists of
e.g. ocds-ptecst-127449 |
| date | BuySpeed Req - In Progress Date |
| id | party IDs are built from
e.g.
|
| buyer/name | BuySpeed Bureau Name (Req Header Column 1 Value + Dictionary) |
| parties/name | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| parties/identifier/id | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| parties/identifier/legalName | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| parties/additionalIdentifiers/id | tenderer/supplier/payee
|
| parties/additionalIdentifiers/legalName | tenderer/supplier/payee
|
| TENDER | |
| tender/id | BuySpeed Requisition Number (REQ_NBR) |
| tender/title | BuySpeed SHORT_DESC |
| tender/status | BuySpeed Current Header Status and Descriptions + Codelist mapping |
| tender/identifiers/id | BuySpeed Bid Number |
| tender/procuringEntity/name | BuySpeed Req Header Column 1 Value + Dictionary |
| tender/value/amount | BuySpeed Req Header Column 5 Value |
| tender/procurementMethod | determined by the combination of values in the following source fields:
|
| tender/mainProcurementCategory | derives from the one of the listed fields in the given order
|
| tender/awardCriteria |
|
| tender/submissionMethod | depends on tender/procurementMethod:
|
| tender/tenderPeriod/startDate | BuySpeed Bid - In Progress Date |
| tender/tenderPeriod/endDate | BuySpeed Bid - Opened Date |
| tender/enquiryPeriod/endDate | BuySpeed Bid - Opened Date |
| tender/awardPeriod/startDate | BuySpeed PO - In Progress Date |
| tender/selectionCriteria/criteria/type | derives from the column that provides the data:
|
| tender/selectionCriteria/criteria/description | technical/economic
|
| tender/selectionCriteria/criteria/minimum |
|
| AWARD | |
| awards/id | BuySpeed Alternate Id (it corresponds to SAP “PO Listing Report” Purchasing Document number) |
| awards/title | SAP “PO Listing Report” Short text of item 10 |
| awards/status | BuySpeed PO Status + Codelist mapping |
| awards/date | BuySpeed PO - In Progress Date |
| awards/value/amount |
|
| awards/suppliers/name | BuySpeed Vendor Name |
| awards/contractPeriod/startDate | SAP “PO Listing Report” Created On |
| awards/contractPeriod/endDate | SAP “PO Listing Report” Delivery Date |
| CONTRACT | |
| contracts/id | BuySpeed Alternate Id (it corresponds to SAP “PO Listing Report” Purchasing Document number) |
| contracts/awardID | BuySpeed Alternate Id (it corresponds to SAP “PO Listing Report” Purchasing Document number) |
| contracts/title | SAP “PO Listing Report” Short text of item 10 |
| contracts/status | active
terminated
|
| contracts/period/startDate | SAP “PO Listing Report” Created On |
| contracts/period/endDate | SAP “PO Listing Report” Delivery Date |
| contracts/value/amount | sum of all rows of the specific PO
|
| contracts/items/id | item ID contains
e.g. 22298257-10 |
| contracts/items/description | SAP ”PO Listing Report” Short Text |
| contracts/items/classification/id | SAP ”PO Listing Report” Material Group |
| contracts/items/classification/description | SAP ”PO Listing Report” Material Group + Dictionary |
| contracts/items/quantity | SAP “PO Listing Report” Order Quantity |
| contracts/items/unit/id | SAP “PO Listing Report” Order Unit + Dictionary
|
| contracts/items/unit/name | SAP “PO Listing Report” Order Unit + Dictionary
|
| IMPLEMENTATION | |
| contracts/implementation/transactions/id | transactions ID is a combination of
Each PO item results into an individual transaction e.g. 22298257-10 |
| contracts/implementation/transactions/date | SAP ”PO Listing Report” Delivery Date |
| contracts/implementation/transactions/value/amount | SAP “PO Listing Report” Total Invoiced to Date |
| contracts/implementation/transactions/payer/name | BuySpeed Req Header Column 1 Value + Dictionary |
| contracts/implementation/transactions/payee/name | BuySpeed Vendor Name |
| contracts/implementation/transactions/relatedImplementationMilestone/id | equal to the corresponding contracts/implementation/milestones/id |
| contracts/implementation/transactions/relatedImplementationMilestone/title | equal to the corresponding contracts/implementation/milestones/title |
| contracts/implementation/milestones/id | Purchase Orders milestone ID contains:
e,g, PO-22298257-10 |
| contracts/implementation/milestones/title | Purchase Orders milestone
|
| contracts/implementation/milestones/type | Purchase Orders milestone = payment |
| contracts/implementation/milestones/dueDate | Purchase Orders milestone
|
| contracts/implementation/milestones/status | scheduled = PO is not invoiced yet
partiallyMet = PO is partially invoiced
met = PO is fully invoiced
notMet = PO is not invoiced and overdue
|
PO Mapping
| OCDS | Source |
| GENERAL | |
| ocid | ocid consists of
e.g. ocds-ptecst-22320991 |
| date | SAP “PO Listing Report” Created On |
| id | party IDs are built from
e.g.
|
| buyer/name | SAP “PO Listing Report” Business Area + Dictionary |
| parties/name | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| parties/identifier/id | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| parties/identifier/legalName | buyer/procuringEntity/payer
|
tenderer/supplier/payee
| |
| TENDER | |
| tender/id | SAP “PO Listing Report” Purchasing Document |
| tender/title | SAP “PO Listing Report” Short text of item 10 |
| tender/status | as soon as we have PO created, tender stage is completed |
| tender/procuringEntity/name | SAP “PO Listing Report” Business Area + Dictionary |
| tender/procurementMethod | determined by the combination of values in the following source fields:
|
| tender/mainProcurementCategory |
|
| tender/submissionMethod | depends on tender/procurementMethod:
|
| AWARD | |
| awards/id | SAP “PO Listing Report” Purchasing Document |
| awards/title | SAP “PO Listing Report” Short text of item 10 |
| awards/status | PO is created equals to award is active |
| awards/date | SAP “PO Listing Report” Created On |
| awards/suppliers/name | SAP “PO Listing Report” Name 1 (Vendor Name) |
| awards/contractPeriod/startDate | SAP “PO Listing Report” Created On |
| awards/contractPeriod/endDate | SAP “PO Listing Report” Delivery Date |
| CONTRACT | |
| contracts/id | SAP “PO Listing Report” Purchasing Document
|
| contracts/awardID | SAP “PO Listing Report” Purchasing Document
|
| contracts/title | SAP “PO Listing Report” Short text of item 10 |
| contracts/status | active
terminated
|
| contracts/period/startDate | SAP “PO Listing Report” Created On |
| contracts/period/endDate | SAP “PO Listing Report” Delivery Date |
| contracts/value/amount | sum of all rows of the specific PO
|
| contracts/items/id | item ID contains
e.g. 22298257-10 |
| contracts/items/description | SAP ”PO Listing Report” Short Text |
| contracts/items/classification/id | SAP ”PO Listing Report” Material Group |
| contracts/items/classification/description | SAP ”PO Listing Report” Material Group + Dictionary |
| contracts/items/quantity | SAP “PO Listing Report” Order Quantity |
| contracts/items/unit/id | SAP/PO Listing Report/Order Unit + Dictionary
|
| contracts/items/unit/name | SAP/PO Listing Report/Order Unit + Dictionary
|
| IMPLEMENTATION | |
| contracts/implementation/transactions/id | transactions ID is a combination of
Each PO item results into an individual transaction e.g. 22298257-10 |
| contracts/implementation/transactions/date | SAP ”PO Listing Report” Delivery Date |
| contracts/implementation/transactions/value/amount | SAP “PO Listing Report” Total Invoiced to Date |
| contracts/implementation/transactions/payer/name | BuySpeed Req Header Column 1 Value + Dictionary |
| contracts/implementation/transactions/payee/name | BuySpeed Vendor Name |
| contracts/implementation/transactions/relatedImplementationMilestone/id | equal to the corresponding contracts/implementation/milestones/id |
| contracts/implementation/transactions/relatedImplementationMilestone/title | equal to the corresponding contracts/implementation/milestones/title |
| contracts/implementation/milestones/id | Purchase Orders milestone ID contains:
e,g, PO-22298257-10 |
| contracts/implementation/milestones/title | Purchase Orders milestone
|
| contracts/implementation/milestones/type | Purchase Orders milestone = payment |
| contracts/implementation/milestones/dueDate | Purchase Orders milestone
|
| contracts/implementation/milestones/status | scheduled = PO is not invoiced yet
partiallyMet = PO is partially invoiced
met = PO is fully invoiced
notMet = PO is not invoiced and overdue
|


