Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
157 lines (98 sloc) 6.85 KB

The 10x Federal Grant Reporting project

Project description

The 10x Federal Grant Reporting project is enabling simpler, faster, easier, better resolution of single audit findings by agencies and grantees alike.

To that end, we're building two prospective shared solutions for the single audit finding resolution process.

SAFR: Single audit finding resolution

The first element of the prototype, "SAFR," focuses on single audit finding resolution, which is a high-priority element of post-award financial grant reporting. By facilitating direct communication and increasing visibility into the state of work, the prototype dramatically 1) streamlines the finding resolution process and 2) gives agencies unprecedented visibility into single audit findings relevant to their shared grantees, thereby reducing costly duplication of effort for agencies and grantees alike.

Distiller

A second element of the prototype, "Distiller," provides easier access to data, reducing a multi-day process to less than five minutes. This stands to help auditors, grant managers, and agency CFOs as well as grantees.

How can you help?

Federal granting agency

If you're someone who works with single audits at a federal agency, we're interested in speaking with you.

File an issue or email us at federal-grant-reporting@gsa.gov.

Independent auditors

If you're someone who's created single audits, we're interested in talking with you and better understanding your current process and any pain points around creating audits and adding them to the Federal Audit Clearinghouse.

File an issue or email us at federal-grant-reporting@gsa.gov.

Grantees

If you've developed corrective action plans or been involved in single audit finding resolution, we'd love to talk.

File an issue or email us at federal-grant-reporting@gsa.gov.

What we've done so far

For background and context, see this project's history.

Local installation

This is a Django app designed to run on Python 3.7.3. pipenv is recommended for creating a virtual environment and managing dependencies. If you don't already have pipenv installed:

  1. Run pip --version and confirm that your pip uses Python 3, not Python 2, then
  2. Install pipenv by running pip install pipenv.

Now you can prepare your development environment by running:

git clone git@github.com:18F/federal-grant-reporting.git
cd federal-grant-reporting
cd single-audit
pipenv shell
pipenv install

You will also need to set up a local PostgreSQL database that matches the configuration in single-audit/single_audit/settings/development.py. (Alternately, you can create a local database and user and update the app's configuration to match.)

First, create a new Postgres database from the command line:

createdb FGR_LOCAL_DB

Then, once you are logged into the FGR_LOCAL_DB Postgres database:

CREATE USER fgr_local_user;
\password fgr_local_user;
{enter the password defined in development.py}

At this point, if you try running the project locally, you may see a message like: "You have 17 unapplied migration(s)..."

Apply these migrations to your local database:

python manage.py migrate --settings=single_audit.settings.development

Now you can start the project locally:

./manage.py runserver --settings=single_audit.settings.development

The app should now be running at http://localhost:8000 or http://127.0.0.1:8000.

Creating a superuser

The Django project contains an admin interface at /admin.

To access the admin interface, you'll need to create a superuser first. Run the following on your command line to create a superuser on your local machine:

./manage.py createsuperuser --settings=single_audit.settings.development

You will be prompted to supply a username, email, and password.

Having completed that process, you will be able to access the admin interface at /admin using your new superuser account.

Create sample finding data

Once you can access the admin interface for the project (at /admin), you'll be able to create sample finding data locally.

Start by adding and saving a new finding: http://127.0.0.1:8000/admin/resolve_findings/finding/add/.

See the project locally

Once your new finding record is saved, visit http://127.0.0.1:8000/finding/1/ to see the Finding Resolution Page.

Here is what that page looks like as of June 2019:

screenshot of Finding Resolution page

... and here is what the comments section looks like as of June 2019:

another screenshot of Finding Resolution page

Project structure

federal-grant-reporting/
├── sam-to-ffr/
├── single-audit/
│   ├── distiller/
│   ├── fac/
│   ├── resolve_findings/
│   └── single_audit/
└── tools/
  • tools: A home for one-off scripts written in service of the project.
  • sam-to-ffr: Flask prototype application from Phase II; a proof-of-concept app which fills out fields of the Federal Financial Report form based on data from SAM.gov.
  • single-audit: Main application being developed during Phase III; a Django project with several sub-apps.
    • single-audit/single_audit: Home for project-wide resources and settings, such as shared CSS, URL structure, and shared settings for development/production.
    • single-audit/distiller: Prototype app — exploring the idea of parsing data from the Federal Audit Clearinghouse and distilling it down into the most relevant information.
    • single-audit/fac: Prototype app — exploring the idea of a front-end interface for the Federal Audit Clearinghouse which could let findings be entered in a templatized way. This is currently a stub (i.e., very much an early work in progress).
    • single-audit/resolve_findings: Prototype app for Single Audit Finding Resolution. Actively under development.

Contributing

See CONTRIBUTING for additional information.

Public domain

This project is in the worldwide public domain. As stated in CONTRIBUTING:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

You can’t perform that action at this time.