Skip to content

Commit

Permalink
mapping/sustainability.yaml: Update disbursement records
Browse files Browse the repository at this point in the history
Add mapping and example
  • Loading branch information
duncandewhurst committed Nov 10, 2023
1 parent 74c2ebd commit 2a17ce6
Show file tree
Hide file tree
Showing 3 changed files with 141 additions and 4 deletions.
5 changes: 5 additions & 0 deletions docs/cost/common.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,8 @@ Add a `Document` object to the `contractingProcesses.summary.documents` array an
* Set its `.id` incrementally
* Set its `.url` to a direct link to the document
* Set its `.title` to the title of the document

## Add an organization

* Add an `Organization` object to the `.parties` array and set its `.name` to the name of the organization.
* If you collect organization identifiers, set `.identifier` according to the [identifier reference](../reference/schema.md#identifier) and set `.id` to {identifier.scheme}-{identifier.id}(-{department-identifier}). Otherwise, set `.id` incrementally.
68 changes: 66 additions & 2 deletions docs/cost/ids/sustainability.md
Original file line number Diff line number Diff line change
Expand Up @@ -1464,9 +1464,73 @@ Disbursements dates according to financial agreement versus actual disbursements
:columns: 8
OC4IDS mapping
^^^
For each planned disbursement:
* If the disbursement relates to a contracting processes, for example a payment from a funder to a supplier or subcontractor of a supplier, get the `ContractingProcess` in the `.contractingProcesses` array to which the disbursement relates and add a `Milestone` object to its `.summary.milestones` array. Otherwise, if the disbursement relates to the project, for example a payment from a funder to the public authority, add a `Milestone` object to the project-level `.milestones` array.
* Set the milestone's:
* `.id` incrementally
* `.status` to 'scheduled'
* `.dueDate` to the date on which the disbursement is planned to occur
* `.type` to 'payment'
* `.value` to the amount and currency of the planned disbursement
For each actual disbursement:
* If the disbursement relates to a contracting processes, for example a payment from a funder to a supplier or subcontractor of a supplier, get the `ContractingProcess` in the `.contractingProcesses` array to which the disbursement relates and add a `Transaction` object to its `.summary.transactions` array. Otherwise, if the disbursement relates to the project, for example a payment from a funder to the public authority, add a `Transaction` object to the project-level `.transactions` array.
* Set the transaction's:
* `.id` incrementally
* `.date` to the date of the disbursement
* `.value` to the amount and currency of the disbursement
* Get the `Organization` in `.parties` that represents the payer. If none exists yet, [add an organization](../common.md#add-an-organization) for the payer:
* Add 'payer' to the organization's `.roles` array
* Set the transaction's `.payer` to the `.id` and `.name` of the organization
* Get the `Organization` in `.parties` that represents the payee. If none exists yet, [add an organization](../common.md#add-an-organization) for the payee:
* Add 'payee' to the organization's `.roles` array.
* Set the transaction's `.payee` to the `.id` and `.name` of the organization
* Get the `Milestone` in `.milestones` that represents that planned disbursement:
* Set its `.status` to 'met'
* Set its `.dateMet` to the date of the disbursement
* Set the transaction's `.relatedImplementationMilestone` to the `.id` and `.title` of the milestone
```json
{
"milestones": [
{
"id": "1",
"title": "Grant disbursement"
"status": "met",
"dueDate": "2023-07-01T00:00:00Z",
"dateMet": "2023-08-01T00:00:00Z",
"type": "payment",
"value": {
"amount": 5000000,
"currency": "USD"
}
}
],
"transactions": [
{
"id": "1",
"date": "2023-08-01T00:00:00Z",
"value": {
"amount": 5000000,
"currency": "USD"
},
"payer": {
"id": "1",
"name": "United Nations Development Programme"
},
"payee": {
"id": "2",
"name": "Ministry of works"
},
"relatedImplementationMilestone": {
"id": "1",
"title": "Grant disbursement"
}
}
]
}
```
````
Expand Down
72 changes: 70 additions & 2 deletions mapping/sustainability.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -808,8 +808,76 @@
module: Climate finance
indicator: Efficiency
disclosure format: Disbursements dates according to financial agreement versus actual disbursements dates \[value, currency, date\]
mapping: ''
example: ''
mapping: |-
For each planned disbursement:
* If the disbursement relates to a contracting processes, for example a payment from a funder to a supplier or subcontractor of a supplier, get the `ContractingProcess` in the `.contractingProcesses` array to which the disbursement relates and add a `Milestone` object to its `.summary.milestones` array. Otherwise, if the disbursement relates to the project, for example a payment from a funder to the public authority, add a `Milestone` object to the project-level `.milestones` array.
* Set the milestone's:
* `.id` incrementally
* `.status` to 'scheduled'
* `.dueDate` to the date on which the disbursement is planned to occur
* `.type` to 'payment'
* `.value` to the amount and currency of the planned disbursement
For each actual disbursement:
* If the disbursement relates to a contracting processes, for example a payment from a funder to a supplier or subcontractor of a supplier, get the `ContractingProcess` in the `.contractingProcesses` array to which the disbursement relates and add a `Transaction` object to its `.summary.transactions` array. Otherwise, if the disbursement relates to the project, for example a payment from a funder to the public authority, add a `Transaction` object to the project-level `.transactions` array.
* Set the transaction's:
* `.id` incrementally
* `.date` to the date of the disbursement
* `.value` to the amount and currency of the disbursement
* Get the `Organization` in `.parties` that represents the payer. If none exists yet, [add an organization](../common.md#add-an-organization) for the payer:
* Add 'payer' to the organization's `.roles` array
* Set the transaction's `.payer` to the `.id` and `.name` of the organization
* Get the `Organization` in `.parties` that represents the payee. If none exists yet, [add an organization](../common.md#add-an-organization) for the payee:
* Add 'payee' to the organization's `.roles` array.
* Set the transaction's `.payee` to the `.id` and `.name` of the organization
* Get the `Milestone` in `.milestones` that represents that planned disbursement:
* Set its `.status` to 'met'
* Set its `.dateMet` to the date of the disbursement
* Set the transaction's `.relatedImplementationMilestone` to the `.id` and `.title` of the milestone
example: |-
{
"milestones": [
{
"id": "1",
"title": "Grant disbursement"
"status": "met",
"dueDate": "2023-07-01T00:00:00Z",
"dateMet": "2023-08-01T00:00:00Z",
"type": "payment",
"value": {
"amount": 5000000,
"currency": "USD"
}
}
],
"transactions": [
{
"id": "1",
"date": "2023-08-01T00:00:00Z",
"value": {
"amount": 5000000,
"currency": "USD"
},
"payer": {
"id": "1",
"name": "United Nations Development Programme"
},
"payee": {
"id": "2",
"name": "Ministry of works"
},
"relatedImplementationMilestone": {
"id": "1",
"title": "Grant disbursement"
}
}
]
}
- id: '3.21'
title: Type of project monitoring
module: Climate finance
Expand Down

0 comments on commit 2a17ce6

Please sign in to comment.