Gift Payment (akoya_giftpayment)
A Gift Payment is an individual payment transaction attached to a gift — a check deposit, ACH transfer, credit-card clearing, or non-cash (stock) transfer. Each pledge gift typically has multiple payment records over time; a one-time cash gift has exactly one. Gift Payment is the primary record AP and ERP partners sync for GL posting and bank reconciliation.
At a glance
Display name
Gift Payment
Logical name
akoya_giftpayment
Primary ID attribute
akoya_giftpaymentid
Entity set name (Web API)
akoya_giftpayments
Ownership
OrganizationOwned
Change tracking
Enabled
Audit
Enabled
Web API
GET {org}/api/data/v9.2/akoya_giftpayments
GET {org}/api/data/v9.2/akoya_giftpayments({paymentid})
POST {org}/api/data/v9.2/akoya_giftpayments
PATCH {org}/api/data/v9.2/akoya_giftpayments({paymentid})
Attributes
Core
Display name
Logical name
Type
Required
Description
Amount
akoya_amount
Money
Recommended
Payment amount.
Check / Reference #
akoya_check
String (100)
None
Check number or external reference.
Check Date
akoya_checkdate
DateTime (DateOnly)
None
Date printed on the check.
Payment Type
akoya_paymenttype
Choice
None
Method (check, stock, cash, CC, ACH). Global option set.
Posting Date
akoya_postingdate
DateTime
None
GL posting date.
Deposit Date
akoya_depositdate
DateTime
None
Date the payment hit the deposit.
Clear Date
akoya_cleardate
DateTime
None
Bank reconciliation clear date.
GL Memo
akoya_glmemo
String (250)
None
Internal accounting description.
Thank You Date
akoya_thankyoudate
DateTime
None
Date the acknowledgement was sent.
Pledge Paid
akoya_pledgepaid
Boolean
None
Marks whether this payment closed a pledge obligation.
Pledge Payment Applied
akoya_pledgepaymentapplied
DateTime
None
When the payment was applied to the pledge.
Fee split (4-way)
akoya_giftpayment has a static 4-way fee split — up to four fee lines can be attached to a single payment. This is a fixed pattern, not a dynamic N-way.
Display name
Logical name
Type
Paired lookup
Fee Amount 1
akoya_feeamount
Money
akoya_giftfee → akoya_giftfee
Fee Amount 2
akoya_feeamount2
Money
akoya_giftfee2 → akoya_giftfee
Fee Amount 3
akoya_feeamount3
Money
akoya_giftfee3 → akoya_giftfee
Fee Amount 4
akoya_feeamount4
Money
akoya_giftfee4 → akoya_giftfee
Non-cash (stock) columns
Populated when the payment is a non-cash transfer — typically stock.
Display name
Logical name
Type
Stock Company
akoya_stockcompany
String
Stock Symbol
akoya_stocksymbol
String
Stock Date
akoya_stockdate
DateTime
Stock High
akoya_stockhigh
Money
Stock Low
akoya_stocklow
Money
Stock Valuation
akoya_stockvaluation
Money
Noncash Description
akoya_noncashdescription
String (500)
Noncash Determination Method
akoya_noncashdeterminationmethod
String (500)
External integration status
Display name
Logical name
Type
Purpose
Payment Status (folio)
akoya_folio
String (40)
External payment-status code from AP / ERP sync.
Payment Status Description
akoya_foliogoerortext
String (2000)
Detailed message from the external system.
Payment Status On Change
akoya_foliochangestatus
String (50)
State-transition flag used by the sync pipeline.
Lookups — quick reference
Logical name
Navigation property
Target
Purpose
akoya_giftnumber
akoya_GiftNumber
akoya_gift
Required. Parent gift record.
akoya_donor
akoya_Donor
akoya_donor
Donor (denormalized from the gift for reporting convenience).
akoya_fund
akoya_Fund
akoya_fund
Receiving fund.
akoya_account
akoya_Account
akoya_account
GL account destination (expense or asset).
akoya_depositto
akoya_DepositTo
akoya_account
GL account the deposit clears to.
akoya_depositaccount
akoya_DepositAccount
akoya_account
Holding account for deposits in transit.
akoya_department
akoya_Department
akoya_department
Organizational department.
akoya_primarycontact
akoya_PrimaryContact
contact
Primary person for the payment.
akoya_payor
akoya_Payor
contact
Individual who tendered the payment (may differ from donor).
akoya_donorconstituent
akoya_DonorConstituent
contact
Legacy "constituent" link.
Relationships
Many-to-One (this entity references)
Role
Schema name
Attribute
Referenced entity
Parent gift
akoya_gift_akoya_giftpayment_giftnumber
akoya_giftnumber
akoya_gift
Donor
akoya_donor_akoya_giftpayment_donor
akoya_donor
akoya_donor
Fund
akoya_fund_akoya_giftpayment_fund
akoya_fund
akoya_fund
GL account
akoya_account_akoya_giftpayment_account
akoya_account
akoya_account
One-to-Many (child records)
None of note — gift payments are typically leaves in the hierarchy.
Supported messages
Message
Supported
Create
✓
Retrieve
✓
RetrieveMultiple
✓
Update
✓
Delete
✓
Upsert
— (no alternate keys; use GET then PATCH)
Privileges
Privilege
Purpose
prvReadakoya_giftpayment
Read gift payment records
prvCreateakoya_giftpayment
Create gift payment records
prvWriteakoya_giftpayment
Update gift payment records
Examples
Conventions
Examples assume ORG (env URL), access_token (valid bearer), headers (standard Dataverse headers dict), and service (a ServiceClient instance). See Authentication .
Cleared payments for a date range
Web API curl Python C#
GET {org}/api/data/v9.2/akoya_giftpayments?
$select=akoya_amount,akoya_check,akoya_checkdate,akoya_cleardate,akoya_postingdate&
$filter=akoya_cleardate ge 2026-01-01 and akoya_cleardate le 2026-03-31&
$expand=akoya_GiftNumber($select=akoya_giftnum),akoya_Fund($select=akoya_fundname),akoya_Account($select=akoya_accountnum,akoya_accountname)&
$orderby=akoya_cleardate asc
Accept: application/json
OData-Version: 4.0
OData-MaxVersion: 4.0
curl "https://{org}.crm.dynamics.com/api/data/v9.2/akoya_giftpayments?\$select=akoya_amount,akoya_check,akoya_checkdate,akoya_cleardate,akoya_postingdate&\$filter=akoya_cleardate%20ge%202026-01-01%20and%20akoya_cleardate%20le%202026-03-31&\$expand=akoya_GiftNumber(\$select=akoya_giftnum),akoya_Fund(\$select=akoya_fundname),akoya_Account(\$select=akoya_accountnum,akoya_accountname)&\$orderby=akoya_cleardate%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_giftpayments" ,
params = {
"$select" : "akoya_amount,akoya_check,akoya_checkdate,akoya_cleardate,akoya_postingdate" ,
"$filter" : "akoya_cleardate ge 2026-01-01 and akoya_cleardate le 2026-03-31" ,
"$expand" : "akoya_GiftNumber($select=akoya_giftnum),akoya_Fund($select=akoya_fundname),akoya_Account($select=akoya_accountnum,akoya_accountname)" ,
"$orderby" : "akoya_cleardate asc" ,
},
headers = headers ,
)
payments = r . json ()[ "value" ]
var query = new QueryExpression ( "akoya_giftpayment" ) {
ColumnSet = new ColumnSet ( "akoya_amount" , "akoya_check" , "akoya_checkdate" , "akoya_cleardate" , "akoya_postingdate" ),
Criteria = {
Conditions = {
new ConditionExpression ( "akoya_cleardate" , ConditionOperator . GreaterEqual , new DateTime ( 2026 , 1 , 1 )),
new ConditionExpression ( "akoya_cleardate" , ConditionOperator . LessEqual , new DateTime ( 2026 , 3 , 31 ))
}
},
Orders = { new OrderExpression ( "akoya_cleardate" , OrderType . Ascending ) }
};
var payments = service . RetrieveMultiple ( query );
Create a payment against a pledge
Web API curl Python C#
POST {org}/api/data/v9.2/akoya_giftpayments
Accept: application/json
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
{
"akoya_amount": 250.00,
"akoya_check": "1001",
"akoya_checkdate": "2026-04-24",
"akoya_postingdate": "2026-04-24",
"akoya_GiftNumber@odata.bind": "/akoya_gifts({giftid})",
"akoya_Fund@odata.bind": "/akoya_funds({fundid})",
"akoya_Account@odata.bind": "/akoya_accounts({accountid})"
}
curl -X POST "https://{org}.crm.dynamics.com/api/data/v9.2/akoya_giftpayments" \
-H "Authorization: Bearer $ACCESS_TOKEN " \
-H "Accept: application/json" \
-H "OData-Version: 4.0" \
-H "OData-MaxVersion: 4.0" \
-H "Content-Type: application/json" \
-d '{
"akoya_amount": 250.00,
"akoya_check": "1001",
"akoya_checkdate": "2026-04-24",
"akoya_postingdate": "2026-04-24",
"akoya_GiftNumber@odata.bind": "/akoya_gifts({giftid})",
"akoya_Fund@odata.bind": "/akoya_funds({fundid})",
"akoya_Account@odata.bind": "/akoya_accounts({accountid})"
}'
r = requests . post (
f " { ORG } /api/data/v9.2/akoya_giftpayments" ,
json = {
"akoya_amount" : 250.00 ,
"akoya_check" : "1001" ,
"akoya_checkdate" : "2026-04-24" ,
"akoya_postingdate" : "2026-04-24" ,
"akoya_GiftNumber@odata.bind" : f "/akoya_gifts( { gift_id } )" ,
"akoya_Fund@odata.bind" : f "/akoya_funds( { fund_id } )" ,
"akoya_Account@odata.bind" : f "/akoya_accounts( { account_id } )" ,
},
headers = { ** headers , "Content-Type" : "application/json" },
)
var payment = new Entity ( "akoya_giftpayment" );
payment [ "akoya_amount" ] = new Money ( 250.00m );
payment [ "akoya_check" ] = "1001" ;
payment [ "akoya_checkdate" ] = new DateTime ( 2026 , 4 , 24 );
payment [ "akoya_postingdate" ] = new DateTime ( 2026 , 4 , 24 );
payment [ "akoya_giftnumber" ] = new EntityReference ( "akoya_gift" , giftId );
payment [ "akoya_fund" ] = new EntityReference ( "akoya_fund" , fundId );
payment [ "akoya_account" ] = new EntityReference ( "akoya_account" , accountId );
var paymentId = service . Create ( payment );
Mark payment as cleared
Change history
Schema extracted from the Akoyanet solution XML on 2026-04-24. akoya_paymenttype and akoya_reversaltype global option set values are pending the Phase 2 metadata generator.