This is a sample php web app that uses fatca-ides-php php library to convert bank client data to FATCA files submittable via the IDES gateway. Its dockerfile image is automatically built on docker hub here (also mentioned in the Usage section below and in the Developer notes section)
For more information check the IRS FATCA IDES Technical FAQs
For other language implementations, please check the IRS github page
You can use this image as a web app or as a CLI.
To use it as a web app:
- Run the dockerfile with
docker run -p 8123:80 -d -t shadiakiki1986/ides-data-preparation-php
- Navigate in your browser to
http://localhost:8123
To use it as a CLI
- Run the dockerfile with
docker run -it --entrypoint bash shadiakiki1986/ides-data-preparation-php
- At the terminal inside the image run
php www/transmitter.php --help
To load the workspace folders to the host, e.g. to see the downloaded files, or the backed up generated files:
- Create an empty directory
/home/shadi/ides_cache
- Run image with
docker run -p 8123:80 -d -v /home/shadi/ides_cache:/var/lib/IDES/cache -t shadiakiki1986/ides-data-preparation-php
To set your own institution GIIN, receiver GIIN, SSL certificate, private/public keys:
- Create an empty directory
/home/shadi/ides_etc
- Run image with
docker run -p 8123:80 -d -v /home/shadi/ides_etc:/var/lib/IDES/etc -t shadiakiki1986/ides-data-preparation-php
- Run
docker stop -t shadiakiki1986/ides-data-preparation-php
- Edit the file
/home/shadi/ides_etc/config.yml
to set the GIINs (or copy to aconfig.override.yml
file) - Copy your certificate, private/pubic keys to
/home/shadi/ides_etc/ssl
, using the same filenames (otherwise change the desired names in the config.yml file) - Re-run the image with the run step above
To set your own getFatcaData
php function
- say it's at
/home/shadi/ides_src/getFatcaData.php
- Run image with
docker run -p 8123:80 -d -v /home/shadi/ides_src:/var/lib/IDES/src -t shadiakiki1986/ides-data-preparation-php
- Note that this only works for a simple php function that doesnt require further package installations
This demo app will show the field upload password
in plain text in the URL after clicking on Get data
The email smtp configuration is disabled in etc/config.yml
for the automated build
Please check [[LICENSE]]
docker build .
docker run -i -p 80:80 -t CONTAINERID
docker run -i -p 80:80 -v /home/ubuntu/Development/IDES-Data-Preparation-Php/www:/var/lib/IDES/www -t CONTAINERID
docker build --no-cache .
docker run -i -p 80:80 --entrypoint bash -t CONTAINERID
When moving to php 7, I need to change
- the php5-... package names in apt-get install
- the php5/cli/php.ini paths
- use pecl install yaml-beta instead of yaml
- check if php5enmod or just phpenmod
To publish app in aws elasticbeanstalk
- read this
- for continuous deployment, couple the travis-ci
after_build
with elasticbeanstalk CLI