Web Tool Query EODHD API for PFIC Testing
Budget: -
HOURLY / PART_TIME
⭐ 0.00 (0)
USA
node.js, react-js, typescript, api, javascript
# Upwork Job Post: Simple Web Tool Using EODHD API for PFIC Testing
Hello,
I am looking for a developer to build a simple web-based tool that I can host on my website.
The tool will let me copy/paste a list of stock tickers, query the **EODHD Fundamentals API**, pull the needed financial data, run PFIC calculations, and produce downloadable results.
This is not a complex app. It is a practical web tool for pulling API data, doing the calculations, and exporting the results.
## Basic workflow
The user will paste a list of tickers into a webpage.
The tool should:
1. Accept copy/pasted tickers
2. Clean the input list
3. Deduplicate tickers if needed
4. Query the EODHD Fundamentals API for each ticker
5. Pull annual income statement data
6. Pull quarterly balance sheet data
7. Run the PFIC income test and asset test
8. Display one result card or page per ticker
9. Allow the user to download or export the results
The EODHD API key must stay on the server side and should not be exposed in the browser.
## Data fields needed from EODHD
For each ticker, pull or store:
* Ticker / provider symbol
* Company name
* Country
* Entity type / security type
* Currency
* Fiscal year
* Annual report period
* Quarterly report periods
* Total revenue / gross income
* Interest income
* Dividend income
* Investment income
* Gains from investments
* Other passive income candidate
* Total assets
* Cash and equivalents
* Short-term investments
* Marketable securities
* Long-term investments
* Other investment assets
* Source/API endpoint
* Annual report link, if available from the API
* Quarterly report links, if available from the API
## Calculation 1: PFIC income test
The income test uses annual income statement data.
Calculate:
```text
passive income candidate / total revenue
```
Passive income candidate should include available fields such as:
```text
interest income
+ dividend income
+ investment income
+ gains from investments
+ other passive income candidate
```
If the result is **75% or more**, the income test is positive.
## Calculation 2: PFIC asset test
The asset test must use **quarterly balance sheet data**, not only year-end data.
For each quarter, calculate:
```text
passive asset candidate =
cash and equivalents
+ short-term investments
+ marketable securities
+ long-term investments
+ other investment assets
```
Then calculate the annual asset test using the four quarter-end values:
```text
(Q1 passive assets + Q2 passive assets + Q3 passive assets + Q4 passive assets)
/
(Q1 total assets + Q2 total assets + Q3 total assets + Q4 total assets)
```
If the result is **50% or more**, the asset test is positive.
## Final PFIC result
The tool should return one of the following:
* PFIC — Yes
* PFIC — No
* Unable to Determine from Pulled Data
* Security Type Not Suitable for Corporate PFIC Test
* Manual Review Required
Rules:
* PFIC — Yes if either the income test or asset test is positive.
* PFIC — No only if both tests are negative and all required data is complete.
* Unable to Determine from Pulled Data if the API does not provide enough data.
* The tool should not invent, estimate, or guess missing values.
* If the security appears to be an ETF, fund, trust, UCITS, SICAV, investment company, or similar non-operating-company security, the tool should flag it as not suitable for this simple corporate PFIC test.
## Result display
For each ticker, show one clean result card or result page with:
1. Company information
2. Annual income data pulled
3. Quarterly balance sheet data pulled
4. Income test calculation
5. Asset test calculation
6. Missing data notes
7. Source/API references and report links
8. Final PFIC result
## Download and export requirements
The user must be able to download/export the results.
At minimum, provide:
1. A readable results download, such as CSV, Excel, or PDF
2. A structured export file with the following columns:
```text
Fund Name
Fund Code
Fund Class
Fund Currency
PFIC Start date (YYYY-MM-DD)
Account #
Bank Name
Bank Address
Bank City
Bank State/Province
Bank Country
Ownership %
Notes
```
## Export mapping
Some fields will come from the API and some will be manually entered by the user.
Suggested mapping:
* Fund Name = company name / ticker name from API
* Fund Code = ticker symbol
* Fund Class = manual field, unless available from API
* Fund Currency = currency from API
* PFIC Start date = manual field
* Account # = manual field
* Bank Name = manual field
* Bank Address = manual field
* Bank City = manual field
* Bank State/Province = manual field
* Bank Country = manual field
* Ownership % = manual field
* Notes = PFIC result, missing data notes, source notes, or manual notes
The app should allow the user to enter or edit the manual fields before exporting.
## Preferred build
I am open to the developer’s recommendation, but a simple setup is fine:
* Frontend webpage with textarea for ticker input
* Backend API route/proxy to call EODHD securely
* Server-side API key storage
* Results page with one card/page per ticker
* Export/download button
* Basic caching if useful
This does not need to be overbuilt. The main goal is to paste tickers, pull EODHD data, run the PFIC tests, display the result clearly, and export the results in the required format.
## Results dashboard / summary page
After the user pastes and runs the ticker list, the app should generate a results dashboard summarizing the batch.
The dashboard should show:
* Total tickers pasted
* Number of duplicate tickers removed
* Number of unique tickers analyzed
* Number of tickers classified as PFIC — Yes
* Number of tickers classified as PFIC — No
* Number of tickers marked Unable to Determine from Pulled Data
* Number of tickers marked Security Type Not Suitable for Corporate PFIC Test
* Number of tickers requiring Manual Review
Example:
```text
You pasted 100 tickers.
10 duplicate tickers were removed.
90 unique tickers were analyzed.
Results:
80 PFIC — Yes
5 PFIC — No
3 Unable to Determine from Pulled Data
2 Manual Review Required
```
Each result category should be clickable. When the user clicks a category, the app should show the tickers in that category and allow the user to:
1. View the detailed result cards/pages for those tickers
2. Print that category
3. Download/export that category
4. Download/export all results
The user should be able to download:
* All results
* Only PFIC — Yes results
* Only PFIC — No results
* Only Unable to Determine results
* Only Manual Review Required results
* Only duplicate ticker report
Each ticker should still have its own detailed result card or result page showing:
* Company information
* Annual income data pulled
* Quarterly balance sheet data pulled
* Income test calculation
* Asset test calculation
* Missing data notes
* Source/API references and report links
* Final PFIC result
Auf Upwork öffnen