Merge pull request #20618 from eileenmcnaughton/return2
[civicrm-core.git] / xml / schema / Contribute / Contribution.xml
CommitLineData
6d68a4cb 1<?xml version="1.0" encoding="iso-8859-1" ?>
6a488035 2
6d68a4cb
CW
3<table>
4 <base>CRM/Contribute</base>
5 <class>Contribution</class>
6 <name>civicrm_contribution</name>
7 <add>1.3</add>
6a488035 8 <log>true</log>
449c4e6b 9 <icon>fa-credit-card</icon>
d31fb4e3 10 <component>CiviContribute</component>
a7bd99ff 11 <paths>
5c385299 12 <add>civicrm/contribute/add?reset=1&amp;action=add&amp;context=standalone</add>
a7bd99ff 13 <view>civicrm/contact/view/contribution?reset=1&amp;action=view&amp;id=[id]</view>
5c385299 14 <update>civicrm/contact/view/contribution?reset=1&amp;action=update&amp;id=[id]</update>
a7bd99ff
CW
15 <delete>civicrm/contact/view/contribution?reset=1&amp;action=delete&amp;id=[id]</delete>
16 </paths>
6d68a4cb
CW
17 <field>
18 <name>id</name>
6a488035 19 <uniqueName>contribution_id</uniqueName>
6d68a4cb 20 <type>int unsigned</type>
6a488035 21 <required>true</required>
6d68a4cb 22 <import>true</import>
6a488035 23 <title>Contribution ID</title>
6d68a4cb 24 <comment>Contribution ID</comment>
8cc7686b 25 <html>
0481e12c 26 <type>Number</type>
8cc7686b 27 </html>
6d68a4cb
CW
28 <add>1.3</add>
29 </field>
30 <primaryKey>
31 <name>id</name>
32 <autoincrement>true</autoincrement>
33 </primaryKey>
34 <field>
35 <name>contact_id</name>
6a488035
TO
36 <uniqueName>contribution_contact_id</uniqueName>
37 <title>Contact ID</title>
6d68a4cb
CW
38 <type>int unsigned</type>
39 <required>true</required>
6a488035
TO
40 <import>true</import>
41 <headerPattern>/contact(.?id)?/i</headerPattern>
42 <dataPattern>/^\d+$/</dataPattern>
6d68a4cb 43 <comment>FK to Contact ID</comment>
614d72ec 44 <html>
c6821d8d 45 <type>EntityRef</type>
57e94608 46 <label>Contact</label>
c6821d8d 47 </html>
6d68a4cb
CW
48 <add>1.3</add>
49 </field>
50 <foreignKey>
51 <name>contact_id</name>
52 <table>civicrm_contact</table>
53 <key>id</key>
54 <add>1.3</add>
6a488035 55 <onDelete>CASCADE</onDelete>
6d68a4cb 56 </foreignKey>
6d68a4cb 57 <field>
6a488035 58 <name>financial_type_id</name>
a1d226d6 59 <title>Financial Type ID</title>
6a488035
TO
60 <type>int unsigned</type>
61 <comment>FK to Financial Type for (total_amount - non_deductible_amount).</comment>
6d68a4cb
CW
62 <pseudoconstant>
63 <table>civicrm_financial_type</table>
64 <keyColumn>id</keyColumn>
65 <labelColumn>name</labelColumn>
66 </pseudoconstant>
3123273f 67 <export>true</export>
614d72ec 68 <html>
e0991796 69 <type>Select</type>
a1d226d6 70 <label>Financial Type</label>
614d72ec 71 </html>
6a488035 72 <add>4.3</add>
6d68a4cb
CW
73 </field>
74 <foreignKey>
75 <name>financial_type_id</name>
76 <table>civicrm_financial_type</table>
77 <key>id</key>
78 <add>4.3</add>
79 </foreignKey>
80 <field>
81 <name>contribution_page_id</name>
3c151c70 82 <title>Contribution Page ID</title>
6a488035
TO
83 <type>int unsigned</type>
84 <import>true</import>
6d68a4cb
CW
85 <comment>The Contribution Page which triggered this contribution</comment>
86 <pseudoconstant>
87 <table>civicrm_contribution_page</table>
88 <keyColumn>id</keyColumn>
89 <labelColumn>title</labelColumn>
90 </pseudoconstant>
614d72ec 91 <html>
e0991796 92 <type>Select</type>
cff5e6b9 93 <label>Contribution Page</label>
614d72ec 94 </html>
6d68a4cb
CW
95 <add>1.5</add>
96 </field>
97 <foreignKey>
98 <name>contribution_page_id</name>
99 <table>civicrm_contribution_page</table>
100 <key>id</key>
6a488035
TO
101 <onDelete>SET NULL</onDelete>
102 </foreignKey>
6d68a4cb 103 <field>
6a488035 104 <name>payment_instrument_id</name>
8fb22579 105 <uniqueName>payment_instrument_id</uniqueName>
9d5c7f14 106 <title>Payment Method ID</title>
6a488035
TO
107 <type>int unsigned</type>
108 <comment>FK to Payment Instrument</comment>
9d5c7f14 109 <export>true</export>
110 <headerPattern>/^payment|(p(ayment\s)?instrument)$/i</headerPattern>
6a488035 111 <pseudoconstant>
6d68a4cb 112 <optionGroupName>payment_instrument</optionGroupName>
6a488035 113 </pseudoconstant>
614d72ec 114 <html>
e0991796 115 <type>Select</type>
614d72ec 116 </html>
6a488035 117 <add>1.3</add>
6d68a4cb 118 </field>
6a488035
TO
119 <index>
120 <name>UI_contrib_payment_instrument_id</name>
6d68a4cb 121 <fieldName>payment_instrument_id</fieldName>
6a488035 122 <add>1.6</add>
6d68a4cb
CW
123 </index>
124 <field>
125 <name>receive_date</name>
7bc6b5bb 126 <title>Date Received</title>
6d68a4cb 127 <type>datetime</type>
6a488035
TO
128 <import>true</import>
129 <headerPattern>/receive(.?date)?/i</headerPattern>
130 <dataPattern>/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/</dataPattern>
7bc6b5bb 131 <comment>Date contribution was received - not necessarily the creation date of the record</comment>
6d68a4cb 132 <add>1.3</add>
614d72ec 133 <html>
134 <type>Select Date</type>
24317d89 135 <formatType>activityDateTime</formatType>
614d72ec 136 </html>
6d68a4cb
CW
137 </field>
138 <field>
139 <name>non_deductible_amount</name>
6a488035
TO
140 <title>Non-deductible Amount</title>
141 <type>decimal</type>
142 <default>0</default>
143 <import>true</import>
144 <headerPattern>/non?.?deduct/i</headerPattern>
145 <dataPattern>/^\d+(\.\d{2})?$/</dataPattern>
6d68a4cb
CW
146 <comment>Portion of total amount which is NOT tax deductible. Equal to total_amount for non-deductible financial types.</comment>
147 <add>1.3</add>
614d72ec 148 <html>
149 <type>Text</type>
150 </html>
6a488035 151 </field>
6d68a4cb
CW
152 <field>
153 <name>total_amount</name>
154 <type>decimal</type>
6a488035
TO
155 <required>true</required>
156 <import>true</import>
157 <headerPattern>/^total|(.?^am(ou)?nt)/i</headerPattern>
158 <dataPattern>/^\d+(\.\d{2})?$/</dataPattern>
6d68a4cb
CW
159 <comment>Total amount of this contribution. Use market value for non-monetary gifts.</comment>
160 <add>1.3</add>
614d72ec 161 <html>
fd735f54
A
162 <type>Text</type>
163 <label>Total Amount</label>
164 </html>
6a488035 165 </field>
378bbe51 166 <index>
167 <name>index_total_amount_receive_date</name>
168 <fieldName>total_amount</fieldName>
169 <fieldName>receive_date</fieldName>
170 <add>4.7</add>
171 </index>
6d68a4cb
CW
172 <field>
173 <name>fee_amount</name>
174 <type>decimal</type>
6a488035
TO
175 <import>true</import>
176 <headerPattern>/fee(.?am(ou)?nt)?/i</headerPattern>
177 <dataPattern>/^\d+(\.\d{2})?$/</dataPattern>
178 <comment>actual processor fee if known - may be 0.</comment>
6d68a4cb 179 <add>1.3</add>
614d72ec 180 <html>
fd735f54
A
181 <type>Text</type>
182 <label>Fee Amount</label>
183 </html>
6d68a4cb
CW
184 </field>
185 <field>
186 <name>net_amount</name>
187 <type>decimal</type>
6a488035
TO
188 <import>true</import>
189 <headerPattern>/net(.?am(ou)?nt)?/i</headerPattern>
190 <dataPattern>/^\d+(\.\d{2})?$/</dataPattern>
191 <comment>actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.</comment>
6d68a4cb 192 <add>1.3</add>
614d72ec 193 <html>
fd735f54
A
194 <type>Text</type>
195 <label>Net Amount</label>
196 </html>
6a488035 197 </field>
6d68a4cb
CW
198 <field>
199 <name>trxn_id</name>
6a488035 200 <title>Transaction ID</title>
6d68a4cb
CW
201 <type>varchar</type>
202 <length>255</length>
6a488035
TO
203 <import>true</import>
204 <headerPattern>/tr(ansactio|x)n(.?id)?/i</headerPattern>
205 <comment>unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method</comment>
58b0bf5a 206 <readonly>true</readonly>
614d72ec 207 <html>
208 <type>Text</type>
209 </html>
6d68a4cb
CW
210 <add>1.3</add>
211 </field>
212 <field>
213 <name>invoice_id</name>
9cad3ff4 214 <title>Invoice Reference</title>
6d68a4cb
CW
215 <type>varchar</type>
216 <length>255</length>
6a488035
TO
217 <import>true</import>
218 <headerPattern>/invoice(.?id)?/i</headerPattern>
219 <comment>unique invoice id, system generated or passed in</comment>
58b0bf5a 220 <readonly>true</readonly>
614d72ec 221 <html>
222 <type>Text</type>
b05e6d0d 223 </html>
6d68a4cb 224 <add>1.3</add>
9cad3ff4
CW
225 </field>
226 <field>
227 <name>invoice_number</name>
228 <title>Invoice Number</title>
229 <type>varchar</type>
230 <length>255</length>
231 <import>true</import>
232 <headerPattern>/invoice(.?number)?/i</headerPattern>
233 <comment>Human readable invoice number</comment>
234 <html>
235 <type>Text</type>
236 </html>
237 <add>4.7</add>
238 </field>
6d68a4cb
CW
239 <field>
240 <name>currency</name>
241 <type>varchar</type>
6a488035
TO
242 <length>3</length>
243 <default>NULL</default>
244 <import>true</import>
245 <headerPattern>/cur(rency)?/i</headerPattern>
246 <dataPattern>/^[A-Z]{3}$/i</dataPattern>
247 <comment>3 character string, value from config setting or input via user.</comment>
bd44e0df
AS
248 <add>1.3</add>
249 <pseudoconstant>
250 <table>civicrm_currency</table>
251 <keyColumn>name</keyColumn>
a38a89fc 252 <labelColumn>full_name</labelColumn>
c3de5c5a 253 <nameColumn>name</nameColumn>
a8fdb24e 254 <abbrColumn>symbol</abbrColumn>
bd44e0df 255 </pseudoconstant>
614d72ec 256 <html>
e0991796 257 <type>Select</type>
fd735f54 258 <label>Currency</label>
614d72ec 259 </html>
6d68a4cb
CW
260 </field>
261 <field>
262 <name>cancel_date</name>
6e7cc0f5 263 <title>Cancelled / Refunded Date</title>
6d68a4cb 264 <type>datetime</type>
6a488035
TO
265 <import>true</import>
266 <headerPattern>/cancel(.?date)?/i</headerPattern>
267 <dataPattern>/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/</dataPattern>
6d68a4cb
CW
268 <comment>when was gift cancelled</comment>
269 <add>1.3</add>
614d72ec 270 <html>
271 <type>Select Date</type>
24317d89 272 <formatType>activityDateTime</formatType>
614d72ec 273 </html>
6e7cc0f5 274 <uniqueName>contribution_cancel_date</uniqueName>
6d68a4cb
CW
275 </field>
276 <field>
277 <name>cancel_reason</name>
278 <type>text</type>
927898c5 279 <title>Cancellation / Refund Reason</title>
6a488035 280 <import>true</import>
927898c5 281 <export>true</export>
6a488035 282 <headerPattern>/(cancel.?)?reason/i</headerPattern>
614d72ec 283 <html>
284 <type>Text</type>
927898c5 285 <size>40</size>
614d72ec 286 </html>
b05e6d0d 287 <add>1.3</add>
6d68a4cb
CW
288 </field>
289 <field>
290 <name>receipt_date</name>
291 <type>datetime</type>
6a488035
TO
292 <import>true</import>
293 <headerPattern>/receipt(.?date)?/i</headerPattern>
294 <dataPattern>/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/</dataPattern>
295 <comment>when (if) receipt was sent. populated automatically for online donations w/ automatic receipting</comment>
614d72ec 296 <html>
297 <type>Select Date</type>
24317d89 298 <formatType>activityDateTime</formatType>
fd735f54 299 <label>Receipt Date</label>
614d72ec 300 </html>
b05e6d0d 301 <add>1.3</add>
6d68a4cb
CW
302 </field>
303 <field>
6a488035
TO
304 <name>thankyou_date</name>
305 <title>Thank-you Date</title>
6d68a4cb 306 <type>datetime</type>
6a488035
TO
307 <import>true</import>
308 <headerPattern>/thank(s|(.?you))?(.?date)?/i</headerPattern>
309 <dataPattern>/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/</dataPattern>
6d68a4cb
CW
310 <comment>when (if) was donor thanked</comment>
311 <add>1.3</add>
614d72ec 312 <html>
313 <type>Select Date</type>
24317d89 314 <formatType>activityDateTime</formatType>
614d72ec 315 </html>
6d68a4cb
CW
316 </field>
317 <field>
6a488035
TO
318 <name>source</name>
319 <uniqueName>contribution_source</uniqueName>
320 <title>Contribution Source</title>
6d68a4cb 321 <type>varchar</type>
6a488035
TO
322 <length>255</length>
323 <import>true</import>
324 <headerPattern>/source/i</headerPattern>
6d68a4cb
CW
325 <comment>Origin of this Contribution.</comment>
326 <add>1.3</add>
614d72ec 327 <html>
328 <type>Text</type>
329 </html>
6d68a4cb 330 </field>
3fe26f4c 331 <index>
332 <name>index_source</name>
333 <fieldName>source</fieldName>
334 <add>4.7</add>
335 </index>
6d68a4cb 336 <field>
6a488035
TO
337 <name>amount_level</name>
338 <title>Amount Label</title>
6d68a4cb 339 <type>text</type>
6a488035 340 <import>true</import>
6d68a4cb 341 <add>1.7</add>
614d72ec 342 <html>
343 <type>Text</type>
344 </html>
6d68a4cb 345 </field>
6a488035
TO
346 <index>
347 <name>UI_contrib_trxn_id</name>
348 <fieldName>trxn_id</fieldName>
349 <unique>true</unique>
350 <add>2.1</add>
351 </index>
352 <index>
353 <name>UI_contrib_invoice_id</name>
354 <fieldName>invoice_id</fieldName>
355 <unique>true</unique>
356 <add>2.1</add>
357 </index>
6d68a4cb
CW
358 <field>
359 <name>contribution_recur_id</name>
b05e6d0d 360 <title>Recurring Contribution ID</title>
6d68a4cb
CW
361 <type>int unsigned</type>
362 <comment>Conditional foreign key to civicrm_contribution_recur id. Each contribution made in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.</comment>
3123273f 363 <export>true</export>
58b0bf5a 364 <readonly>true</readonly>
57e94608
A
365 <html>
366 <label>Recurring Contribution</label>
367 </html>
6d68a4cb
CW
368 <add>1.4</add>
369 </field>
370 <foreignKey>
371 <name>contribution_recur_id</name>
372 <table>civicrm_contribution_recur</table>
373 <key>id</key>
374 <add>1.4</add>
6a488035
TO
375 <onDelete>SET NULL</onDelete>
376 </foreignKey>
6d68a4cb
CW
377 <field>
378 <name>is_test</name>
6a488035
TO
379 <title>Test</title>
380 <type>boolean</type>
381 <default>0</default>
382 <import>true</import>
614d72ec 383 <html>
384 <type>CheckBox</type>
385 </html>
6a488035 386 </field>
6d68a4cb
CW
387 <field>
388 <name>is_pay_later</name>
6a488035
TO
389 <title>Is Pay Later</title>
390 <type>boolean</type>
391 <default>0</default>
392 <import>true</import>
6d68a4cb 393 <add>2.1</add>
614d72ec 394 <html>
395 <type>CheckBox</type>
396 </html>
6a488035
TO
397 </field>
398 <field>
399 <name>contribution_status_id</name>
3c151c70 400 <title>Contribution Status ID</title>
6a488035
TO
401 <type>int unsigned</type>
402 <default>1</default>
403 <import>true</import>
404 <export>true</export>
405 <headerPattern>/status/i</headerPattern>
6d68a4cb
CW
406 <pseudoconstant>
407 <optionGroupName>contribution_status</optionGroupName>
408 </pseudoconstant>
614d72ec 409 <html>
e0991796 410 <type>Select</type>
ad5b7f44 411 <label>Contribution Status</label>
614d72ec 412 </html>
6a488035
TO
413 <add>1.6</add>
414 </field>
6a488035
TO
415 <index>
416 <name>index_contribution_status</name>
417 <fieldName>contribution_status_id</fieldName>
418 <add>1.6</add>
419 </index>
420 <index>
421 <name>received_date</name>
422 <fieldName>receive_date</fieldName>
423 <add>1.6</add>
424 </index>
6d68a4cb
CW
425 <field>
426 <name>address_id</name>
3123273f 427 <uniqueName>contribution_address_id</uniqueName>
047c5009 428 <title>Address ID</title>
6d68a4cb
CW
429 <type>int unsigned</type>
430 <comment>Conditional foreign key to civicrm_address.id. We insert an address record for each contribution when we have associated billing name and address data.</comment>
57e94608 431 <html>
047c5009 432 <label>Address</label>
57e94608 433 </html>
6d68a4cb 434 <add>2.2</add>
3123273f 435 <export>true</export>
6d68a4cb
CW
436 </field>
437 <foreignKey>
438 <name>address_id</name>
439 <table>civicrm_address</table>
440 <key>id</key>
441 <add>2.2</add>
6a488035
TO
442 <onDelete>SET NULL</onDelete>
443 </foreignKey>
6d68a4cb
CW
444 <field>
445 <name>check_number</name>
6a488035 446 <title>Check Number</title>
7bc1d4da 447 <uniqueName>contribution_check_number</uniqueName>
6a488035 448 <headerPattern>/check(.?number)?/i</headerPattern>
6d68a4cb 449 <type>varchar</type>
6a488035 450 <length>255</length>
614d72ec 451 <html>
452 <type>Text</type>
54f5e87f 453 <size>6</size>
614d72ec 454 </html>
6a488035 455 <import>true</import>
6d68a4cb
CW
456 <add>2.2</add>
457 </field>
6a488035
TO
458 <index>
459 <name>check_number</name>
460 <fieldName>check_number</fieldName>
461 <add>2.2</add>
462 </index>
6d68a4cb 463 <field>
6a488035 464 <name>campaign_id</name>
88c31c05 465 <component>CiviCampaign</component>
6a488035
TO
466 <uniqueName>contribution_campaign_id</uniqueName>
467 <type>int unsigned</type>
57e94608 468 <title>Campaign ID</title>
6d68a4cb
CW
469 <import>true</import>
470 <comment>The campaign for which this contribution has been triggered.</comment>
471 <add>3.4</add>
614d72ec 472 <html>
8813f972 473 <type>EntityRef</type>
57e94608 474 <label>Campaign</label>
614d72ec 475 </html>
6d68a4cb 476 </field>
933c5f44 477 <field>
478 <name>creditnote_id</name>
479 <title>Credit Note ID</title>
480 <type>varchar</type>
481 <length>255</length>
482 <import>true</import>
483 <headerPattern>/creditnote(.?id)?/i</headerPattern>
484 <comment>unique credit note id, system generated or passed in</comment>
115fa278 485 <add>4.6</add>
933c5f44 486 <html>
487 <type>Text</type>
488 </html>
489 </field>
8ca47f5c 490 <index>
d9fab10f 491 <name>index_creditnote_id</name>
8ca47f5c 492 <fieldName>creditnote_id</fieldName>
493 <add>4.7</add>
494 </index>
d91b8b33 495 <field>
496 <name>tax_amount</name>
115fa278 497 <title>Tax Amount</title>
d91b8b33 498 <type>decimal</type>
499 <import>true</import>
500 <headerPattern>/tax(.?am(ou)?nt)?/i</headerPattern>
501 <dataPattern>/^\d+(\.\d{2})?$/</dataPattern>
502 <comment>Total tax amount of this contribution.</comment>
115fa278 503 <add>4.6</add>
d91b8b33 504 <html>
57e94608
A
505 <type>Text</type>
506 </html>
d91b8b33 507 </field>
6d68a4cb
CW
508 <foreignKey>
509 <name>campaign_id</name>
510 <table>civicrm_campaign</table>
511 <key>id</key>
6a488035
TO
512 <onDelete>SET NULL</onDelete>
513 </foreignKey>
fb89c341
PN
514 <field>
515 <name>revenue_recognition_date</name>
516 <type>datetime</type>
517 <import>true</import>
518 <headerPattern>/revenue(.?date)?/i</headerPattern>
519 <dataPattern>/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/</dataPattern>
520 <comment>Stores the date when revenue should be recognized.</comment>
521 <html>
522 <type>Select Date</type>
fd735f54
A
523 <formatType>activityDateTime</formatType>
524 <label>Revenue Recognition Date</label>
fb89c341
PN
525 </html>
526 <add>4.7</add>
527 </field>
58b0bf5a 528 <field>
dc396835
AS
529 <name>is_template</name>
530 <title>Is a Template Contribution</title>
531 <type>boolean</type>
532 <default>0</default>
533 <import>true</import>
534 <comment>Shows this is a template for recurring contributions.</comment>
58b0bf5a 535 <readonly>true</readonly>
dc396835
AS
536 <html>
537 <type>CheckBox</type>
538 </html>
539 <add>5.20</add>
540 </field>
6a488035 541</table>