This tool fills out ATF forms for NFA eForms submissions. The details that stay the same from form to form live in a settings file, and Forms Filler prompts for the details unique to each form before saving PDFs that are ready to sign and submit.
Forms Filler is built and used by Mad Scientist Research LLC, and anyone else is welcome to use it under the MIT license.
Forms Filler is not legal advice. You are responsible for everything on a form you submit to ATF. Review every form before you sign it.
| Form | Name | Settings it needs |
|---|---|---|
| 5320.23 | Responsible Persons Questionnaire | trust-name and trust-address |
A form your settings don't support is left off the menu.
Forms Filler is built for darwin-arm64 and linux-amd64. On macOS, install it with Homebrew:
brew install scienceguns/taps/formsfillerThe settings file belongs in ~/.config/scienceguns/formsfiller.json. A different file can be used with
--settings-path.
The settings file holds your SSN and date of birth, so it must be mode 0400 (readable only by you). Forms Filler
refuses to run until it is:
chmod 0400 ~/.config/scienceguns/formsfiller.jsonCurrently supported values:
{
"settings": {
"output-path": "~/Desktop"
},
"user-data": {
"trust-name": "The Krieger Clone Trust",
"trust-address": "1 Figgis Agency Plaza, New York, NY 10001",
"full-legal-name": "Algernop Krieger",
"full-legal-address": "1 Figgis Agency Plaza, New York, NY 10001",
"phone-number": "212-555-0187",
"email-address": "dr.krieger@figgis.example",
"other-names-used": "Dr. Krieger",
"social-security-number": "078-05-1120",
"date-of-birth": "09/24/1977",
"ethnicity": "Not Hispanic or Latino",
"race": ["White"],
"country-of-citizenship": "",
"state-of-birth": "New York",
"country-of-birth": "United States of America"
},
"cleo": {
"agency-name": "New York City Police Department",
"official-name-and-title": "Barry Dylan, Chief of Police",
"mailing-address": "1 Police Plaza, New York, NY 10007"
}
}Every key in the example is required except these optional ones:
settings.output-path(Default:~/Desktop) The folder finished forms are saved in. A leading~works.user-data.trust-name(Default: blank) The trust or legal entity you are a responsible person for. Leaving it blank turns off the 5320.23.user-data.trust-address(Default: blank) The trust or legal entity's address. Required whentrust-nameis set.user-data.other-names-used(Default: blank) Aliases or a maiden name.user-data.country-of-citizenship(Default: blank, meaning the U.S.A.) Any other country checks the "Other" box in Item 9a instead of the U.S.A. box.user-data.state-of-birth(Default: blank) Required whencountry-of-birthis the U.S.
Some values have to be in a specific format:
phone-number-123-456-7890social-security-number-123-45-6789. Numbers the SSA never issues are rejected.date-of-birth-MM/DD/YYYYwith leading zeroes, such as09/24/1977ethnicity-Hispanic or LatinoorNot Hispanic or Latinorace- A list of one or more ofAmerican Indian or Alaska Native,Asian,Black or African American,Native Hawaiian or Other Pacific IslanderandWhite
A misspelled key is an error rather than being ignored, so a typo can't quietly leave a field blank on a form.
Run formsfiller with no arguments:
- Your settings file is checked. You only see this step if there's a problem.
- Pick the form to fill out.
- Answer the questions for the details unique to this form.
- Review your answers. Answer
nto start the questions over. - The finished form is saved to your
output-path.
The 5320.23 asks which ATF form it's being submitted with (Item 1) and about the firearm (Item 4). The maker's address can be left blank, since approved forms don't always list one.
Each run saves two files, named {Serial}_{Trust}_{LastName}_RPQ_ATF.pdf and {Serial}_{Trust}_{LastName}_RPQ_CLEO.pdf
with spaces removed:
- The ATF copy (pages 1-4) to upload with your eForms application.
- The CLEO copy (pages 5-6) to send to your chief law enforcement officer. It has no SSN or serial number, matching ATF's own CLEO copy.
Forms Filler assumes the responsible person can pass a NICS check, so it always answers:
| Item | Answer |
|---|---|
| 6.a - 6.m.1 | No |
| 6.m.2 | N/A, since it only applies after a Yes on 6.m.1 |
| 7 | Left blank (alien or admission number) |
| 8 | No UPIN (UPIN support coming soon) |
| 9a | U.S.A., unless country-of-citizenship is set |
| Signature/Date | Left blank. Sign and date both copies yourself. |
| 3e (Photo) | Left blank. eForms takes your photo as its own upload. |
If any of these answers aren't true for you, fill out your 5320.23 by hand instead.
Forms Filler doesn't connect to anything, so it works offline.
- Your settings file must be mode
0400, and saved forms are mode0600. - Error messages never include your SSN.
- The CLEO copy never contains your SSN or the firearm's serial number.
- The first run creates
~/.config/scienceguns/pdfcpu/with pdfcpu's settings and the font it fills forms with. The font is built into Forms Filler, so nothing is downloaded.
The blank ATF form is built into Forms Filler. The pages themselves are never changed. Each saved copy is the official form with your answers filled in, unlocked.