TntMPD ®
Powerful software for ministry partner development...

How would I send our staff a monthly (or weekly) TntMPD DataSync file?

It is our pleasure to provide this software free of charge to help you in your ministry.  We're so thankful for our partners who make this possible!

About TntWare

Table of Contents

Page Details

First published by:
Troy Wolbrink
on 29 Sep 2008
Last revision by:
Troy Wolbrink
on 1 Feb 2012
5 people found this article useful.

100% of people found this useful
How would I send our staff a monthly (or weekly) TntMPD DataSync file?

This document describes how you can take data from your organization's donation system and package it in a way that is compatible with TntMPD.  The file you create is called a TntMPD DataSync file.  Once you make this file available to your individual staff member (such as via an email attachment) your staff will be able to bring their donation data into TntMPD.  The type of data you can put into a DataSync file includes:

  • Download contribution details
  • Download names and addresses of donors

Not only will your staff be able to use these features, but their application will be branded with your organization's logo and name.  Also, while they are using the "Gift and Address Input from File" features of TntMPD, you can display your own advertisement/announcement banner.

This is an example of the logo you can provide:

This is an example of the advertising banner you can provide:


Technical Details

A TntMPD DataSync file has the file name extension *.tntmpd.  So for example you may send your staff a file called "January2002.tntmpd".  TntMPD recognizes this file format which makes it incredibly easy for your staff to get started.  All they need to do is double-click the file and open it.  Since *.tntmpd is a registered filename extension, Windows will tell TntMPD to open it.

The DataSync file is synchronized with the currently opened database.  Because the data is synchronized, you can input the file several times into the same database without duplicating data in the database.

The DataSync file has up to three sections.  The sections are:

  • [ORGANIZATION]
  • [DONORS]
  • [GIFTS]. 

<future: TntMPD 2.2> Supported sections will also include (to be described later): 

  • [APPLICATION]
  • [FILE]
  • [DESIGNATIONS]
  • [GIFTS_BY_DONORS].

An example is listed below.  (The complete version is available here:  http://download.tntware.com/sample_data_sync_file/sample.tntmpd)

[ORGANIZATION]
Name=Sample Organization
Abbreviation=SampleOrg
WebLogo-JPEG-470x120=http://download.tntware.com/ccc/SampleWebLogo.jpg
BannerAdUrl-468x60=http://download.tntware.com/ccc/SampleAdBanner.htm
Code=Sample-Organization-USA
BaseCurrencyCode=USD

[DONORS]
"PEOPLE_ID","ACCT_NAME","ADDR1","ADDR2","ADDR3","ADDR4","CITY","STATE","ZIP",...
"921875429","Smith, Dave J & Julie J","630 Pine St",,,,"Hickleman","SD","18372-2637",... 
"332812300","Pine Hills Christian Church","1212 Elm Cir",,,,"Orlando","FL","32828-1868",... 
"220389751","Fryerson, Sue","900 S Sarmon Dr",,,,"Mitchell","SD","57302-9244", ... 

[GIFTS]
"PEOPLE_ID","ACCT_NAME","DISPLAY_DATE","AMOUNT","DONATION_ID","DESIGNATION","MOTIVATION"
"921875429","Smith, Dave J & Julie J","08/23/2002","60","J5INQ","0455770","Z01000"
"332812300","Pine Hills Christian Church","08/22/2002","50","J5E2S","0455770","Z01000"
"220389751","Fryerson, Sue","08/22/2002","40","J5EGE","0455770","Z01000"

[ORGANIZATION]

The organization section has information about your organization.  Here you can specify your organization's name, abbreviation and logo (JPEG only).  In addition you can specify an announcement banner that the user sees while they import the file.  The last item is code.  Try to think of a unique code to represent your ministry (25 chars max).

<future: TntMPD 2.2> BaseCurrencyCode specifies the base currency code (ISO 4217 3-char) for donations represented in the [GIFTS] section.

[DONORS]

The donors section has name, address and phone information about donors.

Here's an example result:

"PEOPLE_ID","ACCT_NAME","ADDR1","ADDR2","ADDR3","ADDR4","CITY","STATE","ZIP",...
"921875429","Smith, Dave J & Julie J","630 Pine St",,,,"Hickleman","SD","18372-2637",... 
"332812300","Pine Hills Christian Church","1212 Elm Cir",,,,"Orlando","FL","32828-1868",... 
"220389751","Fryerson, Sue","900 S Sarmon Dr",,,,"Mitchell","SD","57302-9244", ... 

Field Descriptions:

FieldName Description
PEOPLE_ID (A18)  Donor ID
ACCT_NAME Donor full name
PERSON_TYPE "O" or "P" (Organization or Person)
DECEASED <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "FALSE".  Is the donor deceased
LAST_NAME_ORG Last Name or Organization Name
ORG_CONTACT_PERSON <future: TntMPD 2.2>
When it's an organization (PERSON_TYPE="O"), who is the contact person for this organization?
FIRST_NAME First Name
MIDDLE_NAME Middle Name
TITLE Title (Mr., Mrs.)
SUFFIX Suffix (Jr., Sr.)
SP_LAST_NAME for spouse
SP_FIRST_NAME for spouse
SP_MIDDLE_NAME for spouse
SP_TITLE for spouse
SP_SUFFIX for spouse Note: If this is not blank, it is just concatenated with a space to SP_LAST_NAME.
ADDR1 Street Address (Line 1)
ADDR2 Street Address (Line 2)
ADDR3 Street Address (Line 3)
ADDR4 Street Address (Line 4)
CITY City
STATE State
ZIP Postal Code
COUNTRY (A3) ISO 3166 Alpha 3 country code  <new in TntMPD 2.0> ISO 3166 Alpha 2 country codes are supported in TntMPD 2.0.
CNTRY_DESCR Name of country.
ADDR_CHANGED (M/D/YYYY)  When the addres was last changed.
ADDR_VALID <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "TRUE".
PHONE Phone number.
PHONE_CHANGED (M/D/YYYY)  When the phone was last changed.
PHONE_VALID <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "TRUE".
MOBILE_PHONE <future: TntMPD 2.2>  Mobile phone number.
MOBILE_PHONE_CHANGED <future: TntMPD 2.2>
(M/D/YYYY)  When the mobile phone was last changed.
MOBILE_PHONE_VALID <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "TRUE".
SPOUSE_MOBILE_PHONE <future: TntMPD 2.2>  Spouse mobile phone number.
SPOUSE_MOBILE_PHONE_CHANGED <future: TntMPD 2.2>
(M/D/YYYY)  When the spouse mobile phone was last changed.
SPOUSE_MOBILE_PHONE_VALID <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "TRUE".
EMAIL <future: TntMPD 2.2>  Email address.
EMAIL_CHANGED <future: TntMPD 2.2>(M/D/YYYY)  When the email was last changed.
EMAIL_VALID <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "TRUE".
SPOUSE_EMAIL <future: TntMPD 2.2>  Email address.
SPOUSE_EMAIL_CHANGED <future: TntMPD 2.2>(M/D/YYYY)  When the email was last changed.
SPOUSE_EMAIL_VALID <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "TRUE".
MEMO <future: TntMPD 2.2>  A note regarding the donor.
MAGAZINE <future: TntMPD 2.2>
"TRUE" or "FALSE".  Blank implies "FALSE".  Does the donor subscribe to the organization's news magazine?
REMINDER <future: TntMPD 2.2>
(A18) How often is the donor reminded by the organization to make a donation?
RELATED_IDS <future: TntMPD 2.2>
A comma seperated list of related donor ids (used by TntMPD to help with matching contacts to donor ids).

 

[GIFTS]

The gifts section has detailed contribution information over a particular date range.

Here's an example result:

[GIFTS]
"PEOPLE_ID","ACCT_NAME","DISPLAY_DATE","AMOUNT","DONATION_ID","DESIGNATION","MOTIVATION"
"921875429","Smith, Dave J & Julie J","08/23/2002","60","J5INQ","0455770","Z01000"
"332812300","Pine Hills Christian Church","08/22/2002","50","J5E2S","0455770","Z01000"
"220389751","Fryerson, Sue","08/22/2002","40","J5EGE","0455770","Z01000"

Field Descriptions:

FieldName Description
PEOPLE_ID (A18) Donor ID
ACCT_NAME Donor full name
DISPLAY_DATE (M/D/YYYY) Date of contribution
AMOUNT (Float) Amount of contribution
DONATION_ID (A18) Donation ID
DESIGNATION (A18) What account this donation is designated for (normally same as employee id)
MOTIVATION (A18) (Optional)  If you track this in your donation system you may include this code here.
PAYMENT_METHOD <future: TntMPD 2.2> (A18) (Optional)  Payment method of this donation.
TENDERED_AMOUNT <future: TntMPD 2.2> (Float) (Optional) Amount of donation as tendered by donor. 
You may leave this blank if it is tendered in the same as currency code defined in the query.ini file.
TENDERED_CURRENCY <future: TntMPD 2.2> (A3) (Optional) Currency code (ISO 4217 3-char) of donation as tendered by donor.  You may leave this blank if it is the same as the default currency code from the query.ini file.
MEMO <future: TntMPD 2.2> (A) Any comments (no length limit) associated with this gift.
BASE_CURRENCY <future: TntMPD 2.2> (A3) Base currency code (ISO 4217 3-char) of donation as represented by AMOUNT.  The only case where it is valid to provide a value for this field is when importing a DataSync file without an [Organization] section.  Apart from this exception, this field is not to be used.  Instead, "BaseCurrencyCode" should be defined once in the [Organization] section.
PERSONAL <future: TntMPD 2.2> "TRUE" or "FALSE".  Blank implies "FALSE".  Indicates if the gift is intended to be a personal gift for the staff member (which usually means it's not tax deductible).

 

Really Simple Option

One way to make this work is to provide just the [DONORS] or [GIFTS] section in a file (minus the section header).  TntMPD will recognize that a single section is being provided.

For example, TntMPD would recognize this as being a [DONORS] section:

"PEOPLE_ID","ACCT_NAME","ADDR1","ADDR2","ADDR3","ADDR4","CITY","STATE","ZIP",...
"921875429","Smith, Dave J & Julie J","630 Pine St",,,,"Hickleman","SD","18372-2637",... 
"332812300","Pine Hills Christian Church","1212 Elm Cir",,,,"Orlando","FL","32828-1868",... 
"220389751","Fryerson, Sue","900 S Sarmon Dr",,,,"Mitchell","SD","57302-9244", ... 

And for another example, TntMPD would recognize this as being a [GIFTS] section:

"PEOPLE_ID","ACCT_NAME","DISPLAY_DATE","AMOUNT","DONATION_ID","DESIGNATION","MOTIVATION"
"921875429","Smith, Dave J & Julie J","08/23/2002","60","J5INQ","0455770","Z01000"
"332812300","Pine Hills Christian Church","08/22/2002","50","J5E2S","0455770","Z01000"
"220389751","Fryerson, Sue","08/22/2002","40","J5EGE","0455770","Z01000"

 


 

Case Insensitivity

TntMPD will store designation ids, donor ids and donation ids exactly as it is received.  (Leading zeros will be removed from numeric donor ids.)  But internally when TntMPD is syncing incoming data, it will match up these ids in a case insensitive way.  So a donation id of "ABC" and "abc" are the same from TntMPD's perspective.  Sending your staff two donations with an id of "ABC" and "abc" respectively will either result in a "duplicate id error" in TntMPD or it will overwrite the one donation with the other.


How to contact me

If you have any questions regarding this document, please don't hesitate to contact me at my email address:  wolbrink@ccci.org   I would be glad to help you.  If your organization finds this feature useful, I would love to know about that as well.

Recent Comments

By: xaashley Posted on 12 Oct 2010 2:17 PM

k, scratch my previous question... sorry... but...

i have formatted and attempted to import and it's asking for an organization_id... any idea why?

By: Jodi Posted on 27 Oct 2010 12:51 PM

Hello,

I am setting up tntMPD on my mac after using it on a pc. Before I always manually entered gifts. Our org is not set up at this time for web syncing. I have access to csv files. Is there a sample (template) i can use to set it up with appropriate fields so it will import the donor information. I am not a programmer, but with some assistance can navigate lots of things. thanks for whatever info you can provide! blessings!

By: Troy Wolbrink Posted on 27 Oct 2010 8:05 PM
0% of people found this useful

Hi Jodi,  Sorry but at this time, this FAQ article is about the best we have to offer.  I hear you though!  There's alot of requests for adding a feature to TntMPD for importing gifts from a CSV file to avoid manual data entry.  --Troy

By: corew50 Posted on 9 Jan 2011 9:28 AM

I have gotten to the point where I create a file of donations.  I pulled all of the File As names and the Contact IDs out of the TNT database and put them in the file.  I am trying to avoid having to do the name match in TNT.  What is TNT looking for to do the match?  Does this question make sense?  I want to be able to send a file and TNT recognize all the people.  I thought sending the contact id from the program and the file as name would do this.  What do I need to change for TNT to match the names?

By: Troy Wolbrink Posted on 10 Jan 2011 1:23 PM

TntMPD searches for matches by name and address fields.  The ContactID is considered internal to TntMPD, so it doesn't expect (or try to match)  that a donor id in the file would match a contact id in TntMPD.  If matching donors, then if there's a single exact match for FirstName, SpouseFirstName, LastName, and City, then TntMPD will auto-match it.  Otherwise, TntMPD prompts the user.

By: corew50 Posted on 10 Jan 2011 1:30 PM

Thanks, so if I am just sending the gift information then I will never be able to have it auto match?  So I will need to send donor and gift information.  Is that right?

By: coffeeKing Posted on 9 Jan 2012 12:51 PM

I am trying to upload gifts using a cvs file.  I am using a file with tes headings.

PEOPLE_ID,ACCT_NAME,DISPLAY_DATE,AMOUNT,DONATION_ID,DESIGNATION,MOTIVATION

134625482,Mr. and Mrs. John A. Jones,1/18/2011,25,WT001,,

I get a Field 'OrganizationID' must have a valid value error.  There is nothing in the [GIFTS] section about organizationID.

Help!

By: Troy Wolbrink Posted on 9 Jan 2012 1:20 PM

@coffeeKing, when you get this error, click the "Error Details" button.  Then report the error details, along with your csv file to the forums.

By: coffeeKing Posted on 9 Jan 2012 1:29 PM

Did I miss the OrganizationID section in the [Gifts] section?

By: coffeeKing Posted on 9 Jan 2012 1:30 PM

Herre is the exception details:

TntMPD: 2.1 r71

-------------------------------------

Exception class: EDatabaseError

Exception address: 00496EE5

Exception message: Field 'OrganizationID' must have a value

----------------------------------------------------------------------------------------------------

Stack list, generated 1/10/2012 1:27:33 AM

>> [00496EE5] DB.DatabaseError (Line 2895, "DB.pas")

[00496EE0] DB.DatabaseError (Line 2894, "DB.pas")

[00496F55] DB.DatabaseErrorFmt (Line 2900, "DB.pas")

[004ABE1A] DB.TDataSet.CheckRequiredFields (Line 13018, "DB.pas")

[004ABE80] DB.TDataSet.InternalPost (Line 13050, "DB.pas")

[007E1BCF] ADODB.TCustomADODataSet.InternalPost (Line 4671, "ADODB.pas")

[004AA9E2] DB.TDataSet.SetCurrentRecord (Line 12350, "DB.pas")

[004ABAE1] DB.TDataSet.CheckOperation (Line 12947, "DB.pas")

[004AB608] DB.TDataSet.Post (Line 12804, "DB.pas")

[007FDE59] TntTable.TTntTable.SafePost (Line 499, "TntTable.pas")

[008A04EC] TntTable_LoginProfileDesignation.TTntLoginProfileDesignationTable.VerifyLoginDesigs (Line 168, "TntTable_LoginProfileDesignation.pas")

[00A73D01] InputFromFileFrm.TInputFromFileForm.SetFileName (Line 490, "InputFromFileFrm.pas")

[00A74707] InputFromFileFrm.TInputFromFileForm.BrowseBtnClick (Line 572, "InputFromFileFrm.pas")

[0052FFFF] Controls.TControl.Click (Line 7190, "Controls.pas")

[005679F6] StdCtrls.TCustomButton.Click (Line 4562, "StdCtrls.pas")

[005684E4] StdCtrls.TCustomButton.CNCommand (Line 5023, "StdCtrls.pas")

[0052FA94] Controls.TControl.WndProc (Line 7074, "Controls.pas")

[00534358] Controls.TWinControl.WndProc (Line 9831, "Controls.pas")

[00534458] Controls.TWinControl.DefaultHandler (Line 9872, "Controls.pas")

[005676C0] StdCtrls.TButtonControl.WndProc (Line 4409, "StdCtrls.pas")

[0052F6B8] Controls.TControl.Perform (Line 6852, "Controls.pas")

[005344AB] Controls.DoControlMsg (Line 9900, "Controls.pas")

[00534F07] Controls.TWinControl.WMCommand (Line 10172, "Controls.pas")

[0052FA94] Controls.TControl.WndProc (Line 7074, "Controls.pas")

[00534358] Controls.TWinControl.WndProc (Line 9831, "Controls.pas")

[00406BBA] System.TMonitor.TryEnter (Line 12708, "System.pas")

[004067B8] System.TMonitor.Enter (Line 12406, "System.pas")

[00406670] System.TMonitor.CheckOwningThread (Line 12332, "System.pas")

[00406962] System.TMonitor.Exit (Line 12523, "System.pas")

[00534358] Controls.TWinControl.WndProc (Line 9831, "Controls.pas")

[005339F8] Controls.TWinControl.MainWndProc (Line 9552, "Controls.pas")

[00533A0D] Controls.TWinControl.MainWndProc (Line 9555, "Controls.pas")

[005339F8] Controls.TWinControl.MainWndProc (Line 9552, "Controls.pas")

[0045E780] Classes.StdWndProc (Line 13491, "Classes.pas")

[005FB593] Rtti.TValue.AsType<System.UInt64> (Line 1372, "Rtti.pas")

[005D71AA] Forms.TCustomForm.CMActionUpdate (Line 6847, "Forms.pas")

[0052FA94] Controls.TControl.WndProc (Line 7074, "Controls.pas")

[00534458] Controls.TWinControl.DefaultHandler (Line 9872, "Controls.pas")

[00530450] Controls.TControl.WMLButtonUp (Line 7323, "Controls.pas")

[00534358] Controls.TWinControl.WndProc (Line 9831, "Controls.pas")

[0052FA94] Controls.TControl.WndProc (Line 7074, "Controls.pas")

[00613009] TntLXForms.TTntFormLX.WndProc (Line 260, "TntLXForms.pas")

[00A84B81] TntMPDMainFrm.TTntMPDMainForm.WndProc (Line 611, "TntMPDMainFrm.pas")

[00A84BEE] TntMPDMainFrm.TTntMPDMainForm.WndProc (Line 623, "TntMPDMainFrm.pas")

[00613009] TntLXForms.TTntFormLX.WndProc (Line 260, "TntLXForms.pas")

[0052F6B8] Controls.TControl.Perform (Line 6852, "Controls.pas")

[005DCF1D] Forms.TApplication.DispatchAction (Line 10942, "Forms.pas")

[005DA7A2] Forms.TApplication.WndProc (Line 9352, "Forms.pas")

[007E0A40] ADODB.VarToBuffer (Line 4407, "ADODB.pas")

[00533BEB] Controls.TWinControl.IsControlMouseMsg (Line 9608, "Controls.pas")

[0045E780] Classes.StdWndProc (Line 13491, "Classes.pas")

[00534358] Controls.TWinControl.WndProc (Line 9831, "Controls.pas")

[005676C0] StdCtrls.TButtonControl.WndProc (Line 4409, "StdCtrls.pas")

[005339F8] Controls.TWinControl.MainWndProc (Line 9552, "Controls.pas")

[0045E780] Classes.StdWndProc (Line 13491, "Classes.pas")

[005DB2EB] Forms.TApplication.ProcessMessage (Line 9760, "Forms.pas")

[005DB32E] Forms.TApplication.HandleMessage (Line 9790, "Forms.pas")

[005DB659] Forms.TApplication.Run (Line 9927, "Forms.pas")

[00AA748C] TntMPD.TntMPD (Line 272, "")

----------------------------------------------------------------------------------------------------

Active Controls hierarchy:

TButton "BrowseBtn"

TTabSheet "StartTab"

TPageControl "PageControl1"

TInputFromFileForm "InputFromFileForm"

----------------------------------------------------------------------------------------------------

TntMPD: 2.1 r71

----------------------------------------------------------------------------------------------------

Database: C:\Users\victorh\Documents\victorsfirsttry.mpddb

----------------------------------------------------------------------------------------------------

System   : Windows Vista Professional, Version: 6.0, Build: 1772, "Service Pack 2"

Processor: Intel, Intel(R) Core(TM)2 Duo CPU     T9300  @ 2.50GHz, 2490 MHz MMX

Display  : 1600x900 pixels, 32 bpp

----------------------------------------------------------------------------------------------------

OS = NT 6.0 (Build 6002) Service Pack 2

Kernel = 6.0.6002.18449 (Microsoft® Windows® Operating System)

IsWine = False

By: coffeeKing Posted on 9 Jan 2012 1:34 PM

Here is part of the csv file:

[GIFTS]

PEOPLE_ID,ACCT_NAME,DISPLAY_DATE,AMOUNT,DONATION_ID,DESIGNATION,MOTIVATION

134625482,Mr. and Mrs. John A. Smith,1/18/2011,25,WT001,,

134625482,Mr. and Mrs. John A. Smith,5/16/2011,25,WT005,,

134625482,Mr. and Mrs. John A. Smith,7/15/2011,25,WT007,,

134625482,Mr. and Mrs. John A. Smith,8/15/2011,25,WT008,,

134625482,Mr. and Mrs. John A. Smith,10/17/2011,25,WT010,,

134625482,Mr. and Mrs. John A. Smith,11/15/2011,25,WT011,,

134625470,Mr. and Mrs. Patrick Jones,1/31/2011,200,WT012,,

134625470,Mr. and Mrs. Patrick Jones,4/30/2011,200,WT015,,

By: Troy Wolbrink Posted on 9 Jan 2012 4:51 PM

@coffeeKIng, please put this same information into the Forums.   Click the "Forums" link near the top.  Also, if you could attach or copy/paste the entire csv file, that would help me try it out myself.   Thanks!

By: Paul Federwitz Posted on 21 Apr 2012 6:34 AM

Any word on when version 2.2 will come out?  The memo field for gifts is something we are looking forward to.

By: Troy Wolbrink Posted on 25 Apr 2012 11:54 AM

I'm looking forward to it, also.  I'm thinking later this year ... in the fall.

By: Will Posted on 16 May 2012 4:35 PM

after sync'ing you can then access the [organization] info popup which then gives you the "Keep TntMPD" & "Accept [organization]". I'm finding that sometimes my data has changed, but the sync doesn't trigger the buttons to be active in order to update the data. what conditions trigger the buttons to be active? is there a way to force them to be active after a sync?