Request Payment (akoya_requestpayment)
A Request Payment is a disbursement line or conditional requirement attached to a request . The same entity models both:
Payments — scheduled or executed grant / scholarship disbursements (check, ACH, stock, non-cash).
Requirements — conditional obligations the recipient must satisfy (report due, outcome submission, compliance step). Requirements don't move money; they enforce workflow.
The akoya_requirementtype choice distinguishes the two. For AP integrations, focus on records where akoya_requirementtype represents a payment.
At a glance
Display name
Payment or Requirement
Logical name
akoya_requestpayment
Primary ID attribute
akoya_requestpaymentid
Primary name attribute
akoya_paymentnum
Entity set name (Web API)
akoya_requestpayments
Ownership
UserOwned
Change tracking
Enabled
Audit
Enabled
Web API
GET {org}/api/data/v9.2/akoya_requestpayments
GET {org}/api/data/v9.2/akoya_requestpayments({paymentid})
POST {org}/api/data/v9.2/akoya_requestpayments
PATCH {org}/api/data/v9.2/akoya_requestpayments({paymentid})
Attributes
Core
Display name
Logical name
Type
Required
Description
Payment / Requirement #
akoya_paymentnum
String (100)
Recommended
Sequence or external identifier. Primary name.
Amount
akoya_amount
Money
Recommended
Payment or requirement amount.
Net Amount
akoya_netamount
Money
None
Amount after adjustments.
Payment Date
akoya_paymentdate
DateTime
None
Planned or actual payment date.
Est. Grant Pay Date
akoya_estimatedgrantpaydate
DateTime
None
Expected payment date.
Requirement Due
akoya_requirementdue
DateTime
None
Deadline for a requirement (if this is a requirement record).
Posting Date
akoya_postingdate
DateTime
None
GL posting date.
Clear Date
akoya_cleardate
DateTime
None
Bank reconciliation clear date.
Check #
akoya_checknumber
String (50)
None
Check or reference number.
Payment Sent
akoya_paymentsent
DateTime
None
Communication sent date.
Requirement Type
akoya_requirementtype
Choice
None
Payment vs. requirement flag (global option set).
Disbursement Type
akoya_disbursementtype
Choice
None
Method / category (global option set).
Anonymous
akoya_anonymous
Boolean
None
Disbursement anonymity.
Non-cash columns
Display name
Logical name
Type
Non Cash
akoya_noncash
Boolean
Non Cash Description
akoya_noncashdescription
String (400)
Non Cash Valuation
akoya_noncashvaluation
Choice
Memos
Display name
Logical name
Max length
GL Memo
akoya_glmemo
250
Posting Description (Memo)
akoya_memo
250
Payment Note
akoya_paymentnote
2000
External integration columns
Display name
Logical name
Purpose
Bill.com Item ID
akoya_billitemid
External AP-system bill identifier (when synced). The display name reflects the historical integration target; the field is used by any AP integration.
Bank Account Name
akoya_bankaccountname
External AP-system bank account label.
Payment Status (folio)
akoya_folio
External payment-status code.
Payment Status Message
akoya_foliogoerortext
Detailed message from external sync.
Lookups — quick reference
Logical name
Navigation property
Target
Purpose
akoya_requestlookup
akoya_RequestLookup
akoya_request
Required. Parent request.
akoya_fund
akoya_Fund
akoya_fund
Funding fund.
akoya_account
akoya_Account
akoya_account
Expense GL account.
akoya_payableaccount
akoya_PayableAccount
akoya_account
A/P (liability) GL account.
akoya_paymentaccount
akoya_PaymentAccount
akoya_account
Bank / payment GL account.
akoya_payee
akoya_Payee
contact / account
Recipient of the payment.
akoya_requestapplicant
akoya_RequestApplicant
contact
Applicant (denormalized from parent request).
akoya_requestcontact
akoya_RequestContact
contact
Contact for communications about this payment.
akoya_fundprimarydonor
akoya_FundPrimaryDonor
akoya_donor
Primary donor on the source fund (denormalized).
akoya_function
akoya_Function
akoya_function
Fund function / program area.
akoya_department
akoya_Department
akoya_department
Organizational department.
akoya_paymentrequirementlettertemplate
akoya_PaymentRequirementLetterTemplate
(letter template)
Merge template for the communication.
Relationships
Many-to-One
Target
Attribute
akoya_request
akoya_requestlookup (required parent)
akoya_fund
akoya_fund
akoya_account
akoya_account, akoya_payableaccount, akoya_paymentaccount
contact
akoya_payee, akoya_requestapplicant, akoya_requestcontact
Supported messages
Message
Supported
Create
✓
Retrieve
✓
RetrieveMultiple
✓
Update
✓
Delete
✓
Upsert
— (no alternate keys; use GET then PATCH)
Privileges
Privilege
Purpose
prvReadakoya_requestpayment
Read payment / requirement records
prvCreateakoya_requestpayment
Create payment / requirement records
prvWriteakoya_requestpayment
Update payment / requirement records
Examples
Conventions
Examples assume ORG (env URL), access_token (valid bearer), headers (standard Dataverse headers dict), and service (a ServiceClient instance). See Authentication .
Upcoming payments for a request
Web API curl Python C#
GET {org}/api/data/v9.2/akoya_requestpayments?
$select=akoya_paymentnum,akoya_amount,akoya_paymentdate,akoya_checknumber&
$filter=_akoya_requestlookup_value eq {requestid} and akoya_paymentdate ge 2026-04-01&
$expand=akoya_Fund($select=akoya_fundname),akoya_Account($select=akoya_accountnum)&
$orderby=akoya_paymentdate asc
Accept: application/json
OData-Version: 4.0
OData-MaxVersion: 4.0
curl "https://{org}.crm.dynamics.com/api/data/v9.2/akoya_requestpayments?\$select=akoya_paymentnum,akoya_amount,akoya_paymentdate,akoya_checknumber&\$filter=_akoya_requestlookup_value%20eq%20{requestid}%20and%20akoya_paymentdate%20ge%202026-04-01&\$expand=akoya_Fund(\$select=akoya_fundname),akoya_Account(\$select=akoya_accountnum)&\$orderby=akoya_paymentdate%20asc" \
-H "Authorization: Bearer $ACCESS_TOKEN " \
-H "Accept: application/json" \
-H "OData-Version: 4.0" \
-H "OData-MaxVersion: 4.0"
r = requests . get (
f " { ORG } /api/data/v9.2/akoya_requestpayments" ,
params = {
"$select" : "akoya_paymentnum,akoya_amount,akoya_paymentdate,akoya_checknumber" ,
"$filter" : f "_akoya_requestlookup_value eq { request_id } and akoya_paymentdate ge 2026-04-01" ,
"$expand" : "akoya_Fund($select=akoya_fundname),akoya_Account($select=akoya_accountnum)" ,
"$orderby" : "akoya_paymentdate asc" ,
},
headers = headers ,
)
upcoming = r . json ()[ "value" ]
var query = new QueryExpression ( "akoya_requestpayment" ) {
ColumnSet = new ColumnSet ( "akoya_paymentnum" , "akoya_amount" , "akoya_paymentdate" , "akoya_checknumber" ),
Criteria = {
Conditions = {
new ConditionExpression ( "akoya_requestlookup" , ConditionOperator . Equal , requestId ),
new ConditionExpression ( "akoya_paymentdate" , ConditionOperator . GreaterEqual , new DateTime ( 2026 , 4 , 1 ))
}
},
Orders = { new OrderExpression ( "akoya_paymentdate" , OrderType . Ascending ) }
};
var upcoming = service . RetrieveMultiple ( query );
Unsynced payments awaiting AP integration
Payments not yet given an external AP-system bill ID (akoya_billitemid).
Web API curl Python C#
GET {org}/api/data/v9.2/akoya_requestpayments?
$select=akoya_requestpaymentid,akoya_amount,akoya_paymentdate,akoya_billitemid,akoya_folio&
$filter=akoya_billitemid eq null and akoya_paymentdate ne null and statecode eq 0
Accept: application/json
OData-Version: 4.0
OData-MaxVersion: 4.0
curl "https://{org}.crm.dynamics.com/api/data/v9.2/akoya_requestpayments?\$select=akoya_requestpaymentid,akoya_amount,akoya_paymentdate,akoya_billitemid,akoya_folio&\$filter=akoya_billitemid%20eq%20null%20and%20akoya_paymentdate%20ne%20null%20and%20statecode%20eq%200" \
-H "Authorization: Bearer $ACCESS_TOKEN " \
-H "Accept: application/json" \
-H "OData-Version: 4.0" \
-H "OData-MaxVersion: 4.0"
r = requests . get (
f " { ORG } /api/data/v9.2/akoya_requestpayments" ,
params = {
"$select" : "akoya_requestpaymentid,akoya_amount,akoya_paymentdate,akoya_billitemid,akoya_folio" ,
"$filter" : "akoya_billitemid eq null and akoya_paymentdate ne null and statecode eq 0" ,
},
headers = headers ,
)
unsynced = r . json ()[ "value" ]
var query = new QueryExpression ( "akoya_requestpayment" ) {
ColumnSet = new ColumnSet ( "akoya_amount" , "akoya_paymentdate" , "akoya_billitemid" , "akoya_folio" ),
Criteria = {
Conditions = {
new ConditionExpression ( "akoya_billitemid" , ConditionOperator . Null ),
new ConditionExpression ( "akoya_paymentdate" , ConditionOperator . NotNull ),
new ConditionExpression ( "statecode" , ConditionOperator . Equal , 0 )
}
}
};
var unsynced = service . RetrieveMultiple ( query );
Mark payment as sent
Web API curl Python C#
PATCH {org}/api/data/v9.2/akoya_requestpayments({paymentid})
Content-Type: application/json
If-Match: *
{
"akoya_paymentsent": "2026-04-24T12:00:00Z",
"akoya_checknumber": "5001",
"akoya_billitemid": "bill_abc123"
}
curl -X PATCH "https://{org}.crm.dynamics.com/api/data/v9.2/akoya_requestpayments({paymentid})" \
-H "Authorization: Bearer $ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-H "If-Match: *" \
-d '{
"akoya_paymentsent": "2026-04-24T12:00:00Z",
"akoya_checknumber": "5001",
"akoya_billitemid": "bill_abc123"
}'
r = requests . patch (
f " { ORG } /api/data/v9.2/akoya_requestpayments( { payment_id } )" ,
json = {
"akoya_paymentsent" : "2026-04-24T12:00:00Z" ,
"akoya_checknumber" : "5001" ,
"akoya_billitemid" : "bill_abc123" ,
},
headers = { ** headers , "Content-Type" : "application/json" , "If-Match" : "*" },
)
var payment = new Entity ( "akoya_requestpayment" , paymentId );
payment [ "akoya_paymentsent" ] = new DateTime ( 2026 , 4 , 24 , 12 , 0 , 0 , DateTimeKind . Utc );
payment [ "akoya_checknumber" ] = "5001" ;
payment [ "akoya_billitemid" ] = "bill_abc123" ;
service . Update ( payment );
Change history
Schema extracted from the Akoyanet solution XML on 2026-04-24. Global option set values (akoya_requirementtype, akoya_disbursementtype, akoya_noncashvaluation) will be rendered by the Phase 2 metadata generator.