Merging desired XML data from multiple files into single CSV columns

Hey there, First post after many hours of trial and error here. Also, brand new to EDT, but yes a forever user here excited to learn.

What im trying to achieve is quite simple.

I’ve created a CSV (Non Profit Database.csv) with the columns named appropriately for ONLY the data I’d like to keep from each XML file.

Id like to be able to run a batch so that it will simply add a new row to the single (Non Profit Database.csv) for each company based on the EIN number from each XML file.

Iv’e attached both the Non Profit Database.csv AND an example XML file which is the exact same structure (with different data points of course) as all the other XML files id like to batch together.

Im very thankful for your help with this and have failed with my attempts to use JOIN to point each column individually and get the batch working.

Here is the Non Profit Database CSV columns:
Name:,EIN:,Total Revenue:,Total Functional Expenses:,Net income:,Executive compensation:,Other salaries and wages:,Total Assets:,Total Liabilities:,Net Assets:,Employee Count:,Address:,Website:,Email:,Phone:,CEO:

Here is the XML data example:

<Return xmlns="http://www.irs.gov/efile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" returnVersion="2019v5.0">

<style lang="en" type="text/css" id="night-mode-pro-style">html {background-color: #FFFFFF !important;} body {background-color: #FFFFFF;}</style>

<link type="text/css" rel="stylesheet" id="night-mode-pro-link"/>

<ReturnHeader binaryAttachmentCnt="0">

<ReturnTs>2020-12-15T14:25:21-06:00</ReturnTs>

<TaxPeriodEndDt>2020-06-30</TaxPeriodEndDt>

<PreparerFirmGrp>

<PreparerFirmEIN>731331618</PreparerFirmEIN>

<PreparerFirmName>

<BusinessNameLine1Txt>LUTON & CO PLLC</BusinessNameLine1Txt>

</PreparerFirmName>

<PreparerUSAddress>

<AddressLine1Txt>201 NW 63RD ST STE 100</AddressLine1Txt>

<CityNm>OKLAHOMA CITY</CityNm>

<StateAbbreviationCd>OK</StateAbbreviationCd>

<ZIPCd>73116</ZIPCd>

</PreparerUSAddress>

</PreparerFirmGrp>

<ReturnTypeCd>990</ReturnTypeCd>

<TaxPeriodBeginDt>2019-07-01</TaxPeriodBeginDt>

<Filer>

<EIN>582670613</EIN>

<BusinessName>

<BusinessNameLine1Txt>HEARTS FOR HEARING FOUNDATION</BusinessNameLine1Txt>

</BusinessName>

<BusinessNameControlTxt>HEAR</BusinessNameControlTxt>

<PhoneNum>4055484300</PhoneNum>

<USAddress>

<AddressLine1Txt>11500 PORTLAND AVE</AddressLine1Txt>

<CityNm>OKLAHOMA CITY</CityNm>

<StateAbbreviationCd>OK</StateAbbreviationCd>

<ZIPCd>73120</ZIPCd>

</USAddress>

</Filer>

<BusinessOfficerGrp>

<PersonNm>JOANNA T SMITH</PersonNm>

<PersonTitleTxt>CHIEF EXEC OFFICER</PersonTitleTxt>

<PhoneNum>4055484300</PhoneNum>

<SignatureDt>2020-10-31</SignatureDt>

<DiscussWithPaidPreparerInd>true</DiscussWithPaidPreparerInd>

</BusinessOfficerGrp>

<PreparerPersonGrp>

<PreparerPersonNm>DAVID R BRADY</PreparerPersonNm>

<PTIN>P01228402</PTIN>

<PhoneNum>4058487313</PhoneNum>

<PreparationDt>2020-12-15</PreparationDt>

</PreparerPersonGrp>

<FilingSecurityInformation>

<IPAddress>

<IPv4AddressTxt>70.182.82.167</IPv4AddressTxt>

</IPAddress>

<IPDt>2020-12-15</IPDt>

<IPTm>14:25:21</IPTm>

<IPTimezoneCd>CS</IPTimezoneCd>

<FilingLicenseTypeCd>P</FilingLicenseTypeCd>

<AtSubmissionCreationDeviceId>B8F39B814E002FE3D8791520AB9538398F819F10</AtSubmissionCreationDeviceId>

<AtSubmissionFilingDeviceId>731A42FD87283B4B84E10806E51163ECABF1C7A2</AtSubmissionFilingDeviceId>

</FilingSecurityInformation>

<TaxYr>2019</TaxYr>

<BuildTS>2021-01-29 14:40:06Z</BuildTS>

</ReturnHeader>

<ReturnData documentCnt="7">

<IRS990 documentId="RetDoc2" referenceDocumentId="RetDoc6">

<PrincipalOfficerNm>JOANNA T SMITH</PrincipalOfficerNm>

<USAddress>

<AddressLine1Txt>11500 PORTLAND AVE</AddressLine1Txt>

<CityNm>OKLAHOMA CITY</CityNm>

<StateAbbreviationCd>OK</StateAbbreviationCd>

<ZIPCd>73120</ZIPCd>

</USAddress>

<GrossReceiptsAmt>10231160</GrossReceiptsAmt>

<GroupReturnForAffiliatesInd>false</GroupReturnForAffiliatesInd>

<Organization501c3Ind>X</Organization501c3Ind>

<WebsiteAddressTxt>WWW.HEARTSFORHEARING.ORG</WebsiteAddressTxt>

<TypeOfOrganizationCorpInd>X</TypeOfOrganizationCorpInd>

<FormationYr>2003</FormationYr>

<LegalDomicileStateCd>OK</LegalDomicileStateCd>

<ActivityOrMissionDesc>HEARTS FOR HEARING CREATES LIFE-CHANGING OPPORTUNITIES FOR CHILDREN AND ADULTS WITH HEARING LOSS TO LISTEN FOR A LIFETIME.</ActivityOrMissionDesc>

<VotingMembersGoverningBodyCnt>15</VotingMembersGoverningBodyCnt>

<VotingMembersIndependentCnt>15</VotingMembersIndependentCnt>

<TotalEmployeeCnt>111</TotalEmployeeCnt>

<TotalVolunteersCnt>12</TotalVolunteersCnt>

<TotalGrossUBIAmt>0</TotalGrossUBIAmt>

<PYContributionsGrantsAmt>4960835</PYContributionsGrantsAmt>

<CYContributionsGrantsAmt>5142288</CYContributionsGrantsAmt>

<PYProgramServiceRevenueAmt>5191405</PYProgramServiceRevenueAmt>

<CYProgramServiceRevenueAmt>5019590</CYProgramServiceRevenueAmt>

<PYInvestmentIncomeAmt>22855</PYInvestmentIncomeAmt>

<CYInvestmentIncomeAmt>26703</CYInvestmentIncomeAmt>

<PYOtherRevenueAmt>54133</PYOtherRevenueAmt>

<CYOtherRevenueAmt>42579</CYOtherRevenueAmt>

<PYTotalRevenueAmt>10229228</PYTotalRevenueAmt>

<CYTotalRevenueAmt>10231160</CYTotalRevenueAmt>

<CYGrantsAndSimilarPaidAmt>0</CYGrantsAndSimilarPaidAmt>

<CYBenefitsPaidToMembersAmt>0</CYBenefitsPaidToMembersAmt>

<PYSalariesCompEmpBnftPaidAmt>5342824</PYSalariesCompEmpBnftPaidAmt>

<CYSalariesCompEmpBnftPaidAmt>6593638</CYSalariesCompEmpBnftPaidAmt>

<CYTotalProfFndrsngExpnsAmt>0</CYTotalProfFndrsngExpnsAmt>

<CYTotalFundraisingExpenseAmt>396182</CYTotalFundraisingExpenseAmt>

<PYOtherExpensesAmt>2895803</PYOtherExpensesAmt>

<CYOtherExpensesAmt>3059602</CYOtherExpensesAmt>

<PYTotalExpensesAmt>8238627</PYTotalExpensesAmt>

<CYTotalExpensesAmt>9653240</CYTotalExpensesAmt>

<PYRevenuesLessExpensesAmt>1990601</PYRevenuesLessExpensesAmt>

<CYRevenuesLessExpensesAmt>577920</CYRevenuesLessExpensesAmt>

<TotalAssetsBOYAmt>16034989</TotalAssetsBOYAmt>

<TotalAssetsEOYAmt>17557139</TotalAssetsEOYAmt>

<TotalLiabilitiesBOYAmt>1025202</TotalLiabilitiesBOYAmt>

<TotalLiabilitiesEOYAmt>1969373</TotalLiabilitiesEOYAmt>

<NetAssetsOrFundBalancesBOYAmt>15009787</NetAssetsOrFundBalancesBOYAmt>

<NetAssetsOrFundBalancesEOYAmt>15587766</NetAssetsOrFundBalancesEOYAmt>

<InfoInScheduleOPartIIIInd>X</InfoInScheduleOPartIIIInd>

<MissionDesc>TO MAXIMIZE THE ABILITIES OF INDIVIDUALS WHO ARE DEAF OR HARD OF HEARING TO BE ABLE TO LISTEN AND TALK BY PROVIDING DIRECT AUDIOLOGICAL AND AUDITORY VERBAL THERAPY SERVICES.</MissionDesc>

<SignificantNewProgramSrvcInd>false</SignificantNewProgramSrvcInd>

<SignificantChangeInd>false</SignificantChangeInd>

<ExpenseAmt>8701257</ExpenseAmt>

<RevenueAmt>5019590</RevenueAmt>

<Desc>HEARTS FOR HEARING CREATES LIFE-CHANGING OPPORTUNITIES FOR CHILDREN AND ADULTS WITH HEARING LOSS TO LISTEN FOR A LIFETIME, PROVIDING COMPREHENSIVE HEARING HEALTHCARE TO CHILDREN AND ADULTS. IN ADDITION TO THE DIAGNOSIS OF HEARING LOSS IN BABIES SHORTLY AFTER BIRTH, WE PROVIDE THE FIRST SET OF HEARING AIDS TO EVERY CHILD IN OKLAHOMA UNDER THE AGE OF 6 AT NO COST TO THE FAMILY. IN ADDITION TO THE FITTING OF HEARING AIDS AND REMOTE MICROPHONE TECHNOLOGY, WE ARE A COMPREHENSIVE COCHLEAR IMPLANT CENTER FOR CHILDREN AND ADULTS AND OFFER COCHLEAR IMPLANT MAPPING,LISTENING AND SPOKEN LANGUAGE SERVICES (LSL), "BRIDGES" GROUP THERAPY AND COMMUNITY HEARING SCREENING PROGRAMS. HEARTS FOR HEARING ALSO CONTRIBUTES TO THE KNOWLEDGE BASE WORLDWIDE IN THE FIELD OF HEARING AID AND COCHLEAR IMPLANT TECHNOLOGY THROUGH A ROBUST RESEARCH INITIATIVE.</Desc>

<TotalProgramServiceExpensesAmt>8701257</TotalProgramServiceExpensesAmt>

<DescribedInSection501c3Ind referenceDocumentId="RetDoc7">true</DescribedInSection501c3Ind>

<ScheduleBRequiredInd referenceDocumentId="RetDoc1">true</ScheduleBRequiredInd>

<PoliticalCampaignActyInd>false</PoliticalCampaignActyInd>

<LobbyingActivitiesInd>false</LobbyingActivitiesInd>

<SubjectToProxyTaxInd>false</SubjectToProxyTaxInd>

<DonorAdvisedFundInd referenceDocumentId="RetDoc3">false</DonorAdvisedFundInd>

<ConservationEasementsInd referenceDocumentId="RetDoc3">false</ConservationEasementsInd>

<CollectionsOfArtInd referenceDocumentId="RetDoc3">false</CollectionsOfArtInd>

<CreditCounselingInd referenceDocumentId="RetDoc3">false</CreditCounselingInd>

<DonorRstrOrQuasiEndowmentsInd referenceDocumentId="RetDoc3">true</DonorRstrOrQuasiEndowmentsInd>

<ReportLandBuildingEquipmentInd referenceDocumentId="RetDoc3">true</ReportLandBuildingEquipmentInd>

<ReportInvestmentsOtherSecInd referenceDocumentId="RetDoc3">false</ReportInvestmentsOtherSecInd>

<ReportProgramRelatedInvstInd referenceDocumentId="RetDoc3">false</ReportProgramRelatedInvstInd>

<ReportOtherAssetsInd referenceDocumentId="RetDoc3">true</ReportOtherAssetsInd>

<ReportOtherLiabilitiesInd referenceDocumentId="RetDoc3">false</ReportOtherLiabilitiesInd>

<IncludeFIN48FootnoteInd referenceDocumentId="RetDoc3">false</IncludeFIN48FootnoteInd>

<IndependentAuditFinclStmtInd referenceDocumentId="RetDoc3">true</IndependentAuditFinclStmtInd>

<ConsolidatedAuditFinclStmtInd referenceDocumentId="RetDoc3">false</ConsolidatedAuditFinclStmtInd>

<SchoolOperatingInd>false</SchoolOperatingInd>

<ForeignOfficeInd>false</ForeignOfficeInd>

<ForeignActivitiesInd>false</ForeignActivitiesInd>

<MoreThan5000KToOrgInd>false</MoreThan5000KToOrgInd>

<MoreThan5000KToIndividualsInd>false</MoreThan5000KToIndividualsInd>

<ProfessionalFundraisingInd>false</ProfessionalFundraisingInd>

<FundraisingActivitiesInd>false</FundraisingActivitiesInd>

<GamingActivitiesInd>false</GamingActivitiesInd>

<OperateHospitalInd>false</OperateHospitalInd>

<GrantsToOrganizationsInd>false</GrantsToOrganizationsInd>

<GrantsToIndividualsInd>false</GrantsToIndividualsInd>

<ScheduleJRequiredInd referenceDocumentId="RetDoc4">true</ScheduleJRequiredInd>

<TaxExemptBondsInd>false</TaxExemptBondsInd>

<EngagedInExcessBenefitTransInd>false</EngagedInExcessBenefitTransInd>

<PYExcessBenefitTransInd>false</PYExcessBenefitTransInd>

<LoanOutstandingInd>false</LoanOutstandingInd>

<GrantToRelatedPersonInd>false</GrantToRelatedPersonInd>

<BusinessRlnWithOrgMemInd>false</BusinessRlnWithOrgMemInd>

<BusinessRlnWithFamMemInd>false</BusinessRlnWithFamMemInd>

<BusinessRlnWith35CtrlEntInd>false</BusinessRlnWith35CtrlEntInd>

<DeductibleNonCashContriInd referenceDocumentId="RetDoc5">true</DeductibleNonCashContriInd>

<DeductibleArtContributionInd referenceDocumentId="RetDoc5">false</DeductibleArtContributionInd>

<TerminateOperationsInd>false</TerminateOperationsInd>

<PartialLiquidationInd>false</PartialLiquidationInd>

<DisregardedEntityInd>false</DisregardedEntityInd>

<RelatedEntityInd>false</RelatedEntityInd>

<RelatedOrganizationCtrlEntInd>false</RelatedOrganizationCtrlEntInd>

<TrnsfrExmptNonChrtblRltdOrgInd>false</TrnsfrExmptNonChrtblRltdOrgInd>

<ActivitiesConductedPrtshpInd>false</ActivitiesConductedPrtshpInd>

<ScheduleORequiredInd>true</ScheduleORequiredInd>

<IRPDocumentCnt>15</IRPDocumentCnt>

<IRPDocumentW2GCnt>0</IRPDocumentW2GCnt>

<EmployeeCnt>111</EmployeeCnt>

<EmploymentTaxReturnsFiledInd>true</EmploymentTaxReturnsFiledInd>

<UnrelatedBusIncmOverLimitInd>false</UnrelatedBusIncmOverLimitInd>

<ForeignFinancialAccountInd>false</ForeignFinancialAccountInd>

<ProhibitedTaxShelterTransInd>false</ProhibitedTaxShelterTransInd>

<TaxablePartyNotificationInd>false</TaxablePartyNotificationInd>

<NondeductibleContributionsInd>false</NondeductibleContributionsInd>

<QuidProQuoContributionsInd>false</QuidProQuoContributionsInd>

<Form8282PropertyDisposedOfInd>false</Form8282PropertyDisposedOfInd>

<RcvFndsToPayPrsnlBnftCntrctInd>false</RcvFndsToPayPrsnlBnftCntrctInd>

<PayPremiumsPrsnlBnftCntrctInd>false</PayPremiumsPrsnlBnftCntrctInd>

<IndoorTanningServicesInd>false</IndoorTanningServicesInd>

<SubjToTaxRmnrtnExPrchtPymtInd>false</SubjToTaxRmnrtnExPrchtPymtInd>

<SubjectToExcsTaxNetInvstIncInd>false</SubjectToExcsTaxNetInvstIncInd>

<InfoInScheduleOPartVIInd>X</InfoInScheduleOPartVIInd>

<GoverningBodyVotingMembersCnt>15</GoverningBodyVotingMembersCnt>

<IndependentVotingMemberCnt>15</IndependentVotingMemberCnt>

<FamilyOrBusinessRlnInd>false</FamilyOrBusinessRlnInd>

<DelegationOfMgmtDutiesInd>false</DelegationOfMgmtDutiesInd>

<ChangeToOrgDocumentsInd>false</ChangeToOrgDocumentsInd>

<MaterialDiversionOrMisuseInd>false</MaterialDiversionOrMisuseInd>

<MembersOrStockholdersInd>false</MembersOrStockholdersInd>

<ElectionOfBoardMembersInd>false</ElectionOfBoardMembersInd>

<DecisionsSubjectToApprovaInd>false</DecisionsSubjectToApprovaInd>

<MinutesOfGoverningBodyInd>true</MinutesOfGoverningBodyInd>

<MinutesOfCommitteesInd>true</MinutesOfCommitteesInd>

<OfficerMailingAddressInd>false</OfficerMailingAddressInd>

<LocalChaptersInd>false</LocalChaptersInd>

<Form990ProvidedToGvrnBodyInd>true</Form990ProvidedToGvrnBodyInd>

<ConflictOfInterestPolicyInd>true</ConflictOfInterestPolicyInd>

<AnnualDisclosureCoveredPrsnInd>true</AnnualDisclosureCoveredPrsnInd>

<RegularMonitoringEnfrcInd>true</RegularMonitoringEnfrcInd>

<WhistleblowerPolicyInd>true</WhistleblowerPolicyInd>

<DocumentRetentionPolicyInd>true</DocumentRetentionPolicyInd>

<CompensationProcessCEOInd>true</CompensationProcessCEOInd>

<CompensationProcessOtherInd>true</CompensationProcessOtherInd>

<InvestmentInJointVentureInd>false</InvestmentInJointVentureInd>

<StatesWhereCopyOfReturnIsFldCd>OK</StatesWhereCopyOfReturnIsFldCd>

<UponRequestInd>X</UponRequestInd>

<BooksInCareOfDetail>

<PersonNm>JOANNA T SMITH</PersonNm>

<PhoneNum>4055484300</PhoneNum>

<USAddress>

<AddressLine1Txt>11500 PORTLAND AVE</AddressLine1Txt>

<CityNm>OKLAHOMA CITY</CityNm>

<StateAbbreviationCd>OK</StateAbbreviationCd>

<ZIPCd>73120</ZIPCd>

</USAddress>

</BooksInCareOfDetail>

<Form990PartVIISectionAGrp>

<PersonNm>JACE WOLFE</PersonNm>

<TitleTxt>EMPLOYEE</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<HighestCompensatedEmployeeInd>X</HighestCompensatedEmployeeInd>

<ReportableCompFromOrgAmt>289665</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>15899</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>RACHEL A MAGANN FAIVRE</PersonNm>

<TitleTxt>EMPLOYEE</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<HighestCompensatedEmployeeInd>X</HighestCompensatedEmployeeInd>

<ReportableCompFromOrgAmt>162252</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>12113</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>JOANNA T SMITH</PersonNm>

<TitleTxt>CHIEF EXEC O</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<OfficerInd>X</OfficerInd>

<ReportableCompFromOrgAmt>136917</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>12097</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>ROBERT G WOOD</PersonNm>

<TitleTxt>CHIEF OPERAT</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<OfficerInd>X</OfficerInd>

<ReportableCompFromOrgAmt>135846</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>11279</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>KRISTIN HOPPER</PersonNm>

<TitleTxt>EMPLOYEE</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<HighestCompensatedEmployeeInd>X</HighestCompensatedEmployeeInd>

<ReportableCompFromOrgAmt>111932</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>11096</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>SHANNON R WINTERS</PersonNm>

<TitleTxt>EMPLOYEE</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<HighestCompensatedEmployeeInd>X</HighestCompensatedEmployeeInd>

<ReportableCompFromOrgAmt>111864</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>11007</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>ESTHER H KIM</PersonNm>

<TitleTxt>EMPLOYEE</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<HighestCompensatedEmployeeInd>X</HighestCompensatedEmployeeInd>

<ReportableCompFromOrgAmt>108472</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>10885</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>KRISTI MURPHY</PersonNm>

<TitleTxt>CFO</TitleTxt>

<AverageHoursPerWeekRt>40.00</AverageHoursPerWeekRt>

<OfficerInd>X</OfficerInd>

<ReportableCompFromOrgAmt>75440</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>7367</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>DAVID BIRDWELL</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>RANDY CORP</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>CATHY CROSS</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>ROBERT GARY</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>NOVA HAMMERSLEY</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>KATIE HENKE</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>LIBBY HOWARD</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>MIKE KEESTER</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>JIM MORRIS</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>HEATHER PIKE</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>BOB PORTMAN</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>ROBERT ROSS</PersonNm>

<TitleTxt>CHAIRMAN</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>MIKE TERRY</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>DANITA TESTERMAN</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<Form990PartVIISectionAGrp>

<PersonNm>LAUREN WARKENTINE</PersonNm>

<TitleTxt>DIRECTOR</TitleTxt>

<AverageHoursPerWeekRt>1.00</AverageHoursPerWeekRt>

<IndividualTrusteeOrDirectorInd>X</IndividualTrusteeOrDirectorInd>

<ReportableCompFromOrgAmt>0</ReportableCompFromOrgAmt>

<ReportableCompFromRltdOrgAmt>0</ReportableCompFromRltdOrgAmt>

<OtherCompensationAmt>0</OtherCompensationAmt>

</Form990PartVIISectionAGrp>

<TotalReportableCompFromOrgAmt>1132388</TotalReportableCompFromOrgAmt>

<TotalOtherCompensationAmt>91743</TotalOtherCompensationAmt>

<IndivRcvdGreaterThan100KCnt>7</IndivRcvdGreaterThan100KCnt>

<FormerOfcrEmployeesListedInd>false</FormerOfcrEmployeesListedInd>

<TotalCompGreaterThan150KInd>true</TotalCompGreaterThan150KInd>

<CompensationFromOtherSrcsInd>false</CompensationFromOtherSrcsInd>

<GovernmentGrantsAmt>2646222</GovernmentGrantsAmt>

<AllOtherContributionsAmt>2496066</AllOtherContributionsAmt>

<NoncashContributionsAmt>201625</NoncashContributionsAmt>

<TotalContributionsAmt>5142288</TotalContributionsAmt>

<ProgramServiceRevenueGrp>

<Desc>PATIENT SERVICES</Desc>

<TotalRevenueColumnAmt>4817981</TotalRevenueColumnAmt>

<RelatedOrExemptFuncIncomeAmt>4817981</RelatedOrExemptFuncIncomeAmt>

</ProgramServiceRevenueGrp>

<ProgramServiceRevenueGrp>

<Desc>TRAINING & SUPPORT SERVICES</Desc>

<TotalRevenueColumnAmt>195817</TotalRevenueColumnAmt>

<RelatedOrExemptFuncIncomeAmt>195817</RelatedOrExemptFuncIncomeAmt>

</ProgramServiceRevenueGrp>

<ProgramServiceRevenueGrp>

<Desc>TUITION FOR EDUCATIONAL SERV</Desc>

<TotalRevenueColumnAmt>5792</TotalRevenueColumnAmt>

<RelatedOrExemptFuncIncomeAmt>5792</RelatedOrExemptFuncIncomeAmt>

</ProgramServiceRevenueGrp>

<TotalProgramServiceRevenueAmt>5019590</TotalProgramServiceRevenueAmt>

<InvestmentIncomeGrp>

<TotalRevenueColumnAmt>26703</TotalRevenueColumnAmt>

<ExclusionAmt>26703</ExclusionAmt>

</InvestmentIncomeGrp>

<GrossRentsGrp>

<RealAmt>8500</RealAmt>

</GrossRentsGrp>

<RentalIncomeOrLossGrp>

<RealAmt>8500</RealAmt>

</RentalIncomeOrLossGrp>

<NetRentalIncomeOrLossGrp>

<TotalRevenueColumnAmt>8500</TotalRevenueColumnAmt>

<ExclusionAmt>8500</ExclusionAmt>

</NetRentalIncomeOrLossGrp>

<OtherRevenueMiscGrp>

<Desc>REWARDS AND DISCOUNTS</Desc>

<TotalRevenueColumnAmt>20538</TotalRevenueColumnAmt>

<ExclusionAmt>20538</ExclusionAmt>

</OtherRevenueMiscGrp>

<OtherRevenueMiscGrp>

<Desc>MISCELLANEOUS</Desc>

<TotalRevenueColumnAmt>10096</TotalRevenueColumnAmt>

<ExclusionAmt>10096</ExclusionAmt>

</OtherRevenueMiscGrp>

<OtherRevenueMiscGrp>

<Desc>MERCHANDISE SALES</Desc>

<TotalRevenueColumnAmt>3445</TotalRevenueColumnAmt>

<ExclusionAmt>3445</ExclusionAmt>

</OtherRevenueMiscGrp>

<OtherRevenueTotalAmt>34079</OtherRevenueTotalAmt>

<TotalRevenueGrp>

<TotalRevenueColumnAmt>10231160</TotalRevenueColumnAmt>

<RelatedOrExemptFuncIncomeAmt>5019590</RelatedOrExemptFuncIncomeAmt>

<ExclusionAmt>69282</ExclusionAmt>

</TotalRevenueGrp>

<CompCurrentOfcrDirectorsGrp>

<TotalAmt>435578</TotalAmt>

<ProgramServicesAmt>106589</ProgramServicesAmt>

<ManagementAndGeneralAmt>324127</ManagementAndGeneralAmt>

<FundraisingAmt>4862</FundraisingAmt>

</CompCurrentOfcrDirectorsGrp>

<OtherSalariesAndWagesGrp>

<TotalAmt>4961586</TotalAmt>

<ProgramServicesAmt>4640015</ProgramServicesAmt>

<ManagementAndGeneralAmt>71864</ManagementAndGeneralAmt>

<FundraisingAmt>249707</FundraisingAmt>

</OtherSalariesAndWagesGrp>

<PensionPlanContributionsGrp>

<TotalAmt>114615</TotalAmt>

<ProgramServicesAmt>104099</ProgramServicesAmt>

<ManagementAndGeneralAmt>5258</ManagementAndGeneralAmt>

<FundraisingAmt>5258</FundraisingAmt>

</PensionPlanContributionsGrp>

<OtherEmployeeBenefitsGrp>

<TotalAmt>690863</TotalAmt>

<ProgramServicesAmt>608577</ProgramServicesAmt>

<ManagementAndGeneralAmt>43989</ManagementAndGeneralAmt>

<FundraisingAmt>38297</FundraisingAmt>

</OtherEmployeeBenefitsGrp>

<PayrollTaxesGrp>

<TotalAmt>390996</TotalAmt>

<ProgramServicesAmt>345521</ProgramServicesAmt>

<ManagementAndGeneralAmt>26761</ManagementAndGeneralAmt>

<FundraisingAmt>18714</FundraisingAmt>

</PayrollTaxesGrp>

<FeesForServicesLegalGrp>

<TotalAmt>26555</TotalAmt>

<ProgramServicesAmt>1466</ProgramServicesAmt>

<ManagementAndGeneralAmt>25022</ManagementAndGeneralAmt>

<FundraisingAmt>67</FundraisingAmt>

</FeesForServicesLegalGrp>

<FeesForServicesAccountingGrp>

<TotalAmt>14250</TotalAmt>

<ProgramServicesAmt>13058</ProgramServicesAmt>

<ManagementAndGeneralAmt>596</ManagementAndGeneralAmt>

<FundraisingAmt>596</FundraisingAmt>

</FeesForServicesAccountingGrp>

<FeesForServicesOtherGrp>

<TotalAmt>13524</TotalAmt>

<ProgramServicesAmt>13314</ProgramServicesAmt>

<ManagementAndGeneralAmt>105</ManagementAndGeneralAmt>

<FundraisingAmt>105</FundraisingAmt>

</FeesForServicesOtherGrp>

<AdvertisingGrp>

<TotalAmt>214214</TotalAmt>

<ProgramServicesAmt>192860</ProgramServicesAmt>

<ManagementAndGeneralAmt>7399</ManagementAndGeneralAmt>

<FundraisingAmt>13955</FundraisingAmt>

</AdvertisingGrp>

<OccupancyGrp>

<TotalAmt>346985</TotalAmt>

<ProgramServicesAmt>327265</ProgramServicesAmt>

<ManagementAndGeneralAmt>10090</ManagementAndGeneralAmt>

<FundraisingAmt>9630</FundraisingAmt>

</OccupancyGrp>

<DepreciationDepletionGrp>

<TotalAmt>756305</TotalAmt>

<ProgramServicesAmt>715629</ProgramServicesAmt>

<ManagementAndGeneralAmt>20338</ManagementAndGeneralAmt>

<FundraisingAmt>20338</FundraisingAmt>

</DepreciationDepletionGrp>

<OtherExpensesGrp>

<Desc>HEARING TECHNOLOGY</Desc>

<TotalAmt>1110055</TotalAmt>

<ProgramServicesAmt>1110055</ProgramServicesAmt>

</OtherExpensesGrp>

<OtherExpensesGrp>

<Desc>OTHER EXPENSES</Desc>

<TotalAmt>232579</TotalAmt>

<ProgramServicesAmt>210316</ProgramServicesAmt>

<ManagementAndGeneralAmt>12683</ManagementAndGeneralAmt>

<FundraisingAmt>9580</FundraisingAmt>

</OtherExpensesGrp>

<OtherExpensesGrp>

<Desc>COMPUTER SYSTEM EXPENSES</Desc>

<TotalAmt>186861</TotalAmt>

<ProgramServicesAmt>173354</ProgramServicesAmt>

<ManagementAndGeneralAmt>5525</ManagementAndGeneralAmt>

<FundraisingAmt>7982</FundraisingAmt>

</OtherExpensesGrp>

<OtherExpensesGrp>

<Desc>SUPPLIES</Desc>

<TotalAmt>78842</TotalAmt>

<ProgramServicesAmt>75728</ProgramServicesAmt>

<ManagementAndGeneralAmt>2033</ManagementAndGeneralAmt>

<FundraisingAmt>1081</FundraisingAmt>

</OtherExpensesGrp>

<AllOtherExpensesGrp>

<TotalAmt>79432</TotalAmt>

<ProgramServicesAmt>63411</ProgramServicesAmt>

<ManagementAndGeneralAmt>11</ManagementAndGeneralAmt>

<FundraisingAmt>16010</FundraisingAmt>

</AllOtherExpensesGrp>

<TotalFunctionalExpensesGrp>

<TotalAmt>9653240</TotalAmt>

<ProgramServicesAmt>8701257</ProgramServicesAmt>

<ManagementAndGeneralAmt>555801</ManagementAndGeneralAmt>

<FundraisingAmt>396182</FundraisingAmt>

</TotalFunctionalExpensesGrp>

<CashNonInterestBearingGrp>

<BOYAmt>2398382</BOYAmt>

<EOYAmt>4789811</EOYAmt>

</CashNonInterestBearingGrp>

<PledgesAndGrantsReceivableGrp>

<BOYAmt>596650</BOYAmt>

</PledgesAndGrantsReceivableGrp>

<AccountsReceivableGrp>

<BOYAmt>535301</BOYAmt>

<EOYAmt>734011</EOYAmt>

</AccountsReceivableGrp>

<InventoriesForSaleOrUseGrp>

<EOYAmt>66887</EOYAmt>

</InventoriesForSaleOrUseGrp>

<PrepaidExpensesDefrdChargesGrp>

<BOYAmt>40690</BOYAmt>

<EOYAmt>58927</EOYAmt>
**DELETED DATA TO KEEP CHARACTER COUNT DOWN**
**DELETED DATA TO KEEP CHARACTER COUNT DOWN**
**DELETED DATA TO KEEP CHARACTER COUNT DOWN**

</SupplementalInformationDetail>

</IRS990ScheduleO>

</ReturnData>

</Return>

The data you provided isn’t a valid XML file. So that limits how detailed an answer I can give. Can you send a full XML file (or one truncated so that it is still valid XML) to support via SwissTransfer.com or similar?

Assuming I understand correctly, what you probably need to do is:
-read in a sample XML file
-use a Stack transform with align columns by set to by header name and use only top dataset columns checked to only keep the column headers you want

-write it to a CSV file

Then adapt the above to read *.xml and append each to a CSV file using the batch processing feature.

Wow, thank you for getting back to me. Still struggling a bit with Stack.

Here are the files, both xml and csv that id like to populate.

https://www.swisstransfer.com/d/922e49b9-9e9c-4638-b775-90847f079d5f

THANK YOU

I think you can do what you want something like this:

smb.transform (14.8 KB)

You will need to change the Rename Cols transform to rename all the columns to the new column name. I only did it for “EIN:”.

You will need to give the locations of the 2 input files when prompted.

This will output a single record. Then you can run it in batch mode to output all the records to a single CSV:

FWIW, I’ve fiddled with XML and EDT quite a lot. Many XML files have simple, repeated structures, which map directly into record oriented forms on a tag for property basis. It’s more complicated when this is not the case, and when for example the structures are variable or ‘nul’ tags are omitted.

Another consideration is that XML is all about metadata, whereas CSV files only have a column heading as some arbitrary metadata. So things like prefixed attributes can be hard to handle.

So my take on this was to define the inbound XML as plain text (negating any problems with invalid XML, which mine were), and then pick out the value in the tags I needed as the XML was read serially, doing some logic and transformations in Javascript, to assemble the data in record form, which is what CSV is.

@Admin will no doubt be turning his eyes to heaven at this point, but if all else fails, it may be possible consideration - just a thought.

PS: This approach requires you to rename the XML as text, and of course at some point (since the tags are read serially) you have to do a transpose to get the CSV record structure

Admin will no doubt be turning his eyes to heaven at this point

;0)

Sometimes it is necessary to input XML as plain text. But I think , in this case, it is fine to input it as XML and extract the useful information.