If you're a business outside the United States and you want to compete for U.S. federal contracts, you need to register on SAM.gov (the System for Award Management). It's free, it's mandatory, and it's one of the most frustrating bureaucratic processes I've ever been through.
I run a small software business in Budapest, Hungary, registered as an egyéni vállalkozó (sole proprietorship). It took me about two weeks from start to finish. This guide documents every step, every surprise, and every dead end — because the official documentation assumes you're American and already know how this works.
TL;DR
- Foreign entities need an NCAGE code before registering on SAM.gov
- The code must sync from NSPA → DLA before SAM.gov recognizes it
- Don't select "Foreign Owned" unless you have a foreign parent company
- EFT and TIN are optional for non-U.S. entities
- Don't request roles until your entity registration is fully active
- Total time: ~2–4 weeks (mostly waiting)
What You'll Need Before Starting
- A legal business entity in your country (sole proprietorship, LLC, Ltd, GmbH — whatever structure you have)
- A login.gov account (SAM.gov uses login.gov for authentication — create one at login.gov)
- Your business's official registered name, exactly as it appears in your country's business registry
- Your business address and contact information
- Patience — you'll be dealing with your country's defense bureaucracy and the U.S. federal system simultaneously
The Process at a Glance
Here's what the full chain looks like:
NCAGE Code Request → National Codification Bureau Approval → NCAGE Assigned
→ Wait for DLA Sync → SAM.gov Entity Registration → DLA Validation
→ Registration Active → You Can Bid on Federal ContractsRealistic timeline: 2–4 weeks, mostly waiting. The actual hands-on work is about 3–4 hours spread across a few sessions.
Phase 1: Get an NCAGE Code
What Is an NCAGE Code and Why Do I Need One?
NCAGE stands for NATO Commercial and Government Entity. It's a five-character alphanumeric code that identifies your organization in the NATO/U.S. defense supply chain. Think of it as an international business ID for government contracting.
U.S. companies get a CAGE code. Everyone else gets an NCAGE code. They're part of the same system, managed by the Defense Logistics Agency (DLA).
You cannot register on SAM.gov as a foreign entity without one. The registration form has a mandatory NCAGE field, and it validates the code against DLA's database in real time. No code, no registration.
Step 1: Submit a Request Through NSPA
Go to the NATO Support and Procurement Agency (NSPA) ePortal:
https://eportal.nspa.nato.int/Codification/CageTool/home
First, search for your entity — you may already have an NCAGE code if your business has ever done any work involving NATO countries. Search by your organization name.
If you don't have one, click "Request New CAGE" and fill out the form:
- Organization name — Your legal business name, exactly as registered. NATO systems store everything in uppercase, but enter it normally — they'll convert it.
- Address — Your official business address
- Country — Your country of incorporation
- Contact information — Name, phone, email
- Business type — Manufacturer, distributor, service provider, etc.
Submit and wait. Here's where it gets interesting.
Step 2: Your Country's National Codification Bureau Gets Involved
NSPA doesn't process your request directly. They route it to your country's National Codification Bureau (NCB) — a government office (usually under the Ministry of Defence) responsible for managing NCAGE codes for entities in that country.
In my case, the Hungarian NCB is the MH ARB Termékazonosítási és Törzskarbantartó Osztály, part of the Hungarian Ministry of Defence.
Within a couple of days, I got an email. Not an approval — a pushback.
When Your NCB Pushes Back
The Hungarian NCB's default policy is that NCAGE codes are issued "exclusively after contract signing" (kizárólag a szerződéskötést követően). In other words: you need a government contract to get a code, but you need a code to register on SAM.gov, and you need SAM.gov registration to bid on contracts. Classic catch-22.
However, the email also listed exceptions. One of them: bidding on tenders in the United States (Az Amerikai Egyesült Államokban benyújtandó pályázatok).
This is the exception you want. SAM.gov entity registration is a prerequisite for any U.S. federal contracting activity. You're not trying to get a code for fun — the U.S. system requires it before you can even see or respond to opportunities.
What I included in my response:
- Explained that SAM.gov requires an NCAGE code for non-U.S. entity registration
- Referenced the SAM.gov Entity Registration Checklist (downloadable from sam.gov) which lists NCAGE as a mandatory field
- Stated that my intention is to register for U.S. federal contracting opportunities
It worked. A day later, they sent me a questionnaire.
Your experience may vary. Every country's NCB has different policies. Some may approve immediately, others may have similar gatekeeping. If your NCB doesn't have a clear exception for U.S. tenders, the argument is the same: SAM.gov requires the code, and you can't register without it.
Step 3: The Questionnaire
The Hungarian NCB sent me a Word document — an NCAGE data entry form (NCAGE adatbeviteli kérdőív). Your country's form will be different, but the information requested is similar:
- Purpose of request — New NCAGE code application (not a modification)
- Reason for request — Foreign tender / bidding abroad
- Business activity — Service provider (for a software company)
- Contact person — Name, phone, email
- Company details — Official registered name, full address with postal code, city, and country
I filled it out and emailed it back to the NCB. Three calendar days later — including a weekend — I had my NCAGE code. A lieutenant colonel signed off on it personally. The Hungarian military doesn't mess around.
Step 4: Wait for the Code to Reach SAM.gov
Here's a gotcha that cost me a few days: your NCAGE code existing in NATO's system doesn't mean SAM.gov can see it yet.
The code needs to sync from NSPA to the Defense Logistics Agency (DLA) in the United States. SAM.gov validates against DLA's database, not NSPA's. This sync can take 1–10 additional business days.
You can check the status at:
- NSPA: eportal.nspa.nato.int/Codification/CageTool/home — search by your organization name
- DLA: cage.dla.mil/Search — search by your NCAGE code
When the code appears at cage.dla.mil, SAM.gov should recognize it.
Tip: If your code is visible in NSPA but DLA doesn't have it after a few business days, email dlacontactcenter@dla.mil with your NCAGE code, entity name, and address. I did this and it may have helped speed things up. Include your NCAGE code, organization name, city, and country in the email so they can look it up immediately.
Step 5: Verify on SAM.gov
Once the code is in DLA's system:
- Log into sam.gov
- Go to Workspace → Entity Registration
- Start a new registration
- When it asks for your NCAGE code, enter it
If SAM.gov accepts it and pulls up your entity name and address, you're ready for Phase 2.
Phase 2: SAM.gov Entity Registration
This is the main event. SAM.gov's entity registration is a multi-section form covering your business details, structure, financials, contacts, and a long series of compliance certifications. It looks overwhelming, but for a foreign entity with no existing U.S. government contracts, most sections are simplified.
Choosing Your Registration Type
SAM.gov asks what you're registering for. Select "All Awards" — this covers both federal contracts (what you're here for) and financial assistance (grants). Even if you only want contracts, "All Awards" gives you the most flexibility.
Section by Section
I'll go through every section in order, noting what I entered as a Hungarian sole proprietor and what's different for foreign entities.
Business Information
Your basic entity details. Most of this is straightforward.
| Field | What I Entered | Notes |
|---|---|---|
| Entity Start Date | My business registration date | When your entity was legally established |
| Fiscal Year End | 12/31 | Calendar year — use whatever your actual fiscal year end is |
| Entity Division Name | (blank) | Not applicable for a sole proprietorship |
| Entity Division Number | (blank) | Same |
| Entity URL | (blank) | Optional — add your website if you have one |
| Congressional District | Not Applicable | Automatic for foreign entities |
| Physical Address | My Budapest business address | Must match or closely resemble your NCAGE registration address |
| Mailing Address | Same as physical | Can be different if needed |
Address note: SAM.gov will uppercase your address and may mangle special characters (accented letters, etc.). As long as it's recognizable for mail delivery, don't worry about formatting.
Taxpayer Information
Good news: As a non-U.S. entity, you don't need a U.S. Taxpayer Identification Number (TIN) or Employer Identification Number (EIN). The TIN/EIN field and IRS consent section are only for U.S. entities.
This also means you skip the IRS validation step, which typically adds 2–5 business days to the registration timeline for U.S. registrants. One fewer bureaucracy to wait for.
Business Types
This is where you classify your entity's structure. Watch out for a subtle trap here.
| Classification | What I Selected |
|---|---|
| Country of Incorporation | Hungary |
| Entity Structure | Sole Proprietorship |
| Profit Structure | For Profit Organization |
| Entity Type | Business or Organization |
| Organization Factors | Not Applicable |
The "Foreign Owned" Trap
When I saw "Foreign Owned" listed under Organization Factors, I thought — obviously, I'm a foreign business, I should select this. Don't.
In SAM.gov's terminology, "Foreign Owned" means your entity is owned or controlled by another foreign entity — a foreign parent company. It doesn't mean "incorporated outside the U.S."
I selected it initially, and later got hit with a validation error at submission: the system complained that I said I'm "Foreign Owned" in Business Types but didn't list a foreign owner in Entity Relationships. Because there is no foreign owner — I'm a sole proprietorship.
The fix: change Organization Factors to "Not Applicable". Your country of incorporation (Hungary, or wherever you are) already communicates your foreign entity status. No need for the "Foreign Owned" flag unless another company actually owns yours.
Socioeconomic Categories
Most U.S.-specific socioeconomic designations don't apply to foreign entities:
- SBA certifications (8(a), HUBZone, WOSB, SDVOSB, etc.) — U.S. programs only
- Minority-owned, veteran-owned — U.S. designations
- Small business status — Determined by SBA size standards; as a foreign entity, you'll likely be classified as "other than small"
I left everything blank or "Not Applicable" in this section.
Entity Relationships
Two simple questions for a sole proprietorship:
- "Does another entity own or control the entity you are registering?" → No
- "Are you a successor to a predecessor that held a federal contract or grant within the last 3 years?" → No
If you have a parent company, this section is more involved — you'll need their NCAGE code and details.
Financial Information
| Field | What I Entered |
|---|---|
| Accept Credit Cards as Payment | No |
| Delinquent Federal Debt | No |
| Electronic Funds Transfer (EFT) | Left blank |
| Remittance Address | My Budapest business address |
EFT banking details are optional for non-U.S. entities. You only need them if you're expecting to receive payments from the U.S. government. I left the bank account fields blank — I can add them later if I actually win a contract.
Executive Compensation: Two questions about whether 80%+ of your revenue comes from U.S. federal sources exceeding $25M. The answer is No (and if you're reading this guide, it's No for you too).
Points of Contact
SAM.gov requires four mandatory Points of Contact (POCs). As a sole proprietor, I listed myself for all four:
- Accounts Receivable POC — Who receives payment-related communications
- Electronic Business POC — Who manages the SAM.gov registration. This email receives renewal reminders — use one you actively monitor.
- Government Business POC — Contact for contracting officers. Critical: If DLA has questions during registration processing, they contact this person via @dla.mil email. Respond quickly or your registration gets sent back.
- Sole Proprietorship POC — Required because I selected Sole Proprietorship as my entity structure. If you're registering a company, you may see a different fourth POC.
For each POC you need: first name, last name, email, phone number (U.S. or non-U.S.), and for some POCs an address.
Tip: Use a professional email if possible. I used my personal Gmail because it was convenient, but a business domain email (you@yourbusiness.com) looks more credible to contracting officers who might look you up.
Financial Assistance Response
"Does your entity wish to apply for a Federal financial assistance project or program?" → No
Unless you're also applying for U.S. federal grants, skip this.
Representations and Certifications
This is the longest, most intimidating part. It uses a legacy interface that looks like it hasn't been updated since the early 2000s. You'll answer roughly 40+ questions across multiple sections about your compliance with the Federal Acquisition Regulation (FAR) and Defense FAR Supplement (DFARS).
For a foreign entity with no U.S. contracting history, the vast majority of answers are No or Not Applicable. I'll walk through what I entered.
FAR Response 1 (Questions 1–4)
| Q | Topic | My Answer |
|---|---|---|
| 1 | Certificate of Independent Price Determination | Added my name as the responsible person |
| 2 | Other facilities (government-owned or government-furnished) | No |
| 3 | Taxpayer Identification | Not required for non-U.S. — informational only |
| 4 | EPA recovered materials (manufacturing) | No — software/services, not physical products |
FAR Response 2 (Questions 5–17)
| Q | Topic | My Answer |
|---|---|---|
| 5 | Small business status | Auto-determined by the system |
| 6 | Common parent consolidated tax return | No |
| 7 | Debarment or suspension | No |
| 8 | Fraud convictions or civil judgments | No |
| 8b | Delinquent federal taxes over $3,500 | No |
| 9 | Currently indicted or charged | No |
| 10 | Terminated for cause in last 3 years | No |
| 11 | HUBZone Joint Venture | None |
| 12–16 | Joint venture participation | Auto-determined |
| 17 | Limited rights data or restricted software | No |
FAR Response 3 (Questions 18–26)
| Q | Topic | My Answer |
|---|---|---|
| 18–20 | Auto-determined or reserved | Skipped |
| 21 | Forced or child labor products | No |
| 23 | Foreign nondomestic end products | No — services, not physical goods |
| 26 | IT equipment maintenance or calibration | No |
FAR Response 4 (Questions 27–35)
| Q | Topic | My Answer |
|---|---|---|
| 27 | Service Contract Labor Standards | No |
| 28 | PSC manufacturing | Auto-determined |
| 29 | Inverted domestic corporation | No |
| 30 | Subsidiary of inverted domestic corporation | No |
| 32 | Unpaid federal tax liability | No |
| 33 | Felony conviction in last 24 months | No |
| 35 | Covered telecommunications equipment or services | No (both parts) |
Defense Response (Questions 37–46)
This section appears because I selected "All Awards" registration.
| Q | Topic | My Answer | Notes |
|---|---|---|---|
| 37 | Interested in DoD contracts | Yes | Select Yes if you want to keep your options open for defense work |
| 38 | Sea transport | No | |
| 39 | Foreign government wage rates | Not Applicable | |
| 40 | Foreign government ownership or control | No | Unless your government actually owns your business |
| 41–44 | Satellite operations and services | No (all four) | |
| 45 | Employing severely disabled individuals | No | |
| 46 | GAAP compliance | No | You follow your country's accounting standards, not U.S. GAAP. This is disclosure only — it doesn't block registration. |
Review FAR/DFARS Provisions
After the questionnaires, you'll see a long page listing ~40+ FAR and DFARS provisions. These are read-only standard clauses that apply to all registrants. There's a certification checkbox at the bottom.
The certification attests that the answers you provided in the FAR Responses and Defense Response are accurate. Check the box.
Reality: This page is intimidating by volume alone. Nobody reads every clause during registration. The substance is in the answers you already provided — this page just lists the legal provisions those answers relate to.
Phase 3: Submit and Wait
The Entity Review Page
After completing all sections, you reach the Entity Review — a summary of your entire registration. Scroll through and check:
- Your NCAGE code is correct
- Your address is recognizable
- Your NAICS codes are right
- Your POC information is accurate
If You Hit Validation Errors
I hit one. Red text appeared at the top saying the Entity Relationships section was incomplete — even though I had already filled it out. The fix was to go back to that section, re-enter my answers, and save through again. The system sometimes doesn't persist your answers properly on the first pass.
If you get validation errors, click the link in the red text to go to the offending section, re-enter your answers, save, and return to the Entity Review page.
Submitting
Click Submit. SAM.gov sends a One-Time Password (OTP) to your email for identity confirmation. Enter it, and you're done.
You'll see a confirmation page with your submission timestamp and a summary of what happens next.
What Happens After Submission
- IRS Validation — Skipped for foreign entities (no TIN provided). This saves 2–5 business days compared to U.S. registrants.
- DLA CAGE/NCAGE Validation — The Defense Logistics Agency verifies your NCAGE code. Since yours was already assigned, this should be faster than a brand-new assignment. Expect 2–10 business days. Watch for emails from @sam.gov and @dla.mil.
- Registration Goes Active — You'll receive a confirmation email from @sam.gov.
Important: If DLA has questions, they'll email the Government Business POC (from an @dla.mil address). Respond immediately. If you take too long, your registration status changes to "Work in Progress" and you have to resubmit. Make sure this email doesn't end up in your spam folder.
While You Wait
There's nothing to do except monitor your email. You can check your registration status anytime at:
- Go to sam.gov → Sign In
- Click "Check Entity Status" (linked in the footer under Customer Service)
- Enter your UEI (Unique Entity ID — assigned when you started registration)
Phase 4: After Your Registration Goes Active
Once your entity registration is active, you'll want to set up roles for your account. Roles determine what you can do within SAM.gov — viewing contract opportunities, managing your entity, etc.
Requesting Roles — Don't Do It Too Early
This is a mistake I made. While my entity registration was still being processed, I went to Workspace → Profile → My Roles → Request Role and submitted a request for the Contract Opportunities Viewer role.
The request showed up as "pending" on my profile. But it never appeared on the entity administration side — meaning there was nobody who could approve it. The request was stuck in limbo: visible to me, invisible to the system. I couldn't approve it as entity admin, and I couldn't cancel it cleanly.
The lesson: wait until your entity registration is fully active before requesting any roles. Submitting role requests while the entity is still in "Submitted" or processing status can result in orphaned requests that don't route properly.
The Workaround: A Second SAM.gov Account
To fix the stuck role situation, I ended up creating a second SAM.gov account using a business email address (as opposed to the personal Gmail I used for the original account). I then added this second user to my entity through the entity administration panel.
This isn't what I'd recommend — it's what I had to do because I jumped the gun on the role request. If you wait until your registration is active, you should be able to request and approve roles from a single account without issues.
If you're a sole operator: Having a second SAM.gov account associated with your entity isn't a bad thing in practice. It gives you a backup login in case you lose access to your primary account, and some SAM.gov features (like system accounts) require a second registered user. But do it intentionally, not as a workaround for a mistake.
Roles You May Want to Request
Once your registration is active, go to Workspace → Profile → My Roles → Request Role and consider:
- Contract Opportunities → Viewer — Read access to contract opportunity data
- Entity Registration → Viewer — View (but not edit) your entity's registration details
Your account should already have an Administrator role for your entity (auto-assigned during registration). This lets you manage your entity's registration and approve role requests from other users.
My Timeline
Here's how it actually played out for me, registering a Hungarian sole proprietorship:
| Day | What Happened |
|---|---|
| Day 1 (Feb 6) | Started researching SAM.gov registration requirements for non-U.S. entities |
| Day 5 (Feb 10) | Submitted NCAGE request via NSPA ePortal |
| Day 7 (Feb 12) | Hungarian NCB pushed back — required justification for why I need the code |
| Day 7 (Feb 12) | Sent response citing SAM.gov registration requirement and the "foreign tenders" exception |
| Day 8 (Feb 13) | NCB accepted justification, sent NCAGE data entry questionnaire |
| Day 8 (Feb 13) | Returned completed questionnaire |
| Day 11 (Feb 16) | NCAGE code assigned (3 calendar days — surprisingly fast) |
| Day 12 (Feb 17) | Code visible in NSPA but not in DLA/SAM.gov — emailed DLA to flag the sync |
| Day 16 (Feb 21) | NCAGE code recognized by SAM.gov |
| Day 16 (Feb 21) | Completed and submitted entire SAM.gov entity registration |
| Day 16 (Feb 21) | Prematurely requested a role — mistake (see Phase 4) |
| Day 16+ | Waiting for DLA validation (estimated 2–10 business days) |
Total hands-on time: About 3–4 hours across multiple sessions. Most of the calendar time is waiting for government offices to process things.
Things I Wish I'd Known Before Starting
1. The "Foreign Owned" Field Doesn't Mean What You Think
"Foreign Owned" in SAM.gov means owned by a foreign parent company, not "my business is based outside the U.S." If you're a sole proprietor or independent company with no parent entity, select "Not Applicable." Selecting "Foreign Owned" creates a validation conflict later.
2. Your NCAGE Code Has to Sync Between Two Systems
Your code being active in NATO's system (NSPA) doesn't mean SAM.gov can see it. It has to propagate to the U.S. Defense Logistics Agency (DLA) first. Budget an extra 1–10 business days for this, or contact DLA proactively at dlacontactcenter@dla.mil.
3. EFT Banking Details Are Optional
You don't need a U.S. bank account to complete registration. The Electronic Funds Transfer section is optional for non-U.S. entities. Fill it in when you actually need to receive payments.
4. No TIN = Faster Processing
Because foreign entities skip IRS validation, your registration processing is shorter by 2–5 business days compared to a U.S. entity. Small win.
5. SAM.gov Will Glitch on You
Expect transient errors, slow page loads, and mysterious validation messages. If something fails, just retry. If a section won't save, use "Save & Exit" and come back from the dashboard. I hit at least three random errors during my registration — all resolved by retrying.
6. The Reps & Certs Section Uses a Different (Older) Interface
When you reach Representations and Certifications, the UI suddenly looks like it's from 2003. Different styling, different layout, different navigation. Don't be alarmed — you're still in the same registration. The questions still auto-save, but click Save & Continue at each step to be safe.
7. Don't Request Roles Until Your Entity Is Active
I requested a Contract Opportunities Viewer role while my entity registration was still processing. The request got stuck — visible on my profile as "pending" but invisible on the entity admin side, so nobody could approve it. I had to create a second SAM.gov account to work around the issue. Save yourself the hassle: wait until you get the "Registration Active" email before requesting any roles.
8. You Must Renew Every Year
SAM.gov registration expires after 365 days. Your Electronic Business POC receives reminder emails starting about 60 days before expiration. If it lapses, you'll need to go through the renewal process to keep your registration active. Set a calendar reminder.
9. Your NCB May Be Surprisingly Helpful
I expected months of bureaucratic ping-pong with the Hungarian Ministry of Defence. Instead, they processed my NCAGE code in three calendar days, including a weekend. A lieutenant colonel personally signed off on it. Don't assume government offices will be slow — be prepared, be professional, respond quickly, and you might be pleasantly surprised.
Frequently Asked Questions
How long does SAM.gov registration take for foreign entities?
Expect 2–4 weeks from start to finish. Most of that time is waiting: 3–10 business days for your NCAGE code, 1–10 days for the DLA sync, and 2–10 days for SAM.gov to process your entity registration. The actual hands-on work is about 3–4 hours spread across a few sessions.
Can a foreign company register on SAM.gov?
Yes. Foreign businesses can register on SAM.gov and compete for U.S. federal contracts. You'll need an NCAGE code (the international equivalent of a CAGE code) before starting registration. The process is free and open to any legal business entity regardless of country.
Do foreign companies need a CAGE or NCAGE code?
Foreign companies need an NCAGE code, not a CAGE code. CAGE codes are for U.S. entities; NCAGE codes are the international equivalent. You request an NCAGE code through the NATO Support and Procurement Agency (NSPA), which routes your request to your country's National Codification Bureau for approval.
Is SAM.gov registration really free?
Yes, SAM.gov registration is completely free. There is no fee to register, renew, or maintain your entity registration. Third-party companies charge $500–$2,000 to do the registration for you, but the process itself costs nothing. The SAM.gov confirmation page literally states "FREE" in capital letters multiple times.
Useful Links
| Resource | URL |
|---|---|
| SAM.gov | sam.gov |
| Login.gov (authentication) | login.gov |
| NSPA NCAGE Request Tool | eportal.nspa.nato.int/Codification/CageTool/home |
| DLA CAGE/NCAGE Search | cage.dla.mil/Search |
| Federal Service Desk (support) | fsd.gov / 866-606-8220 (toll-free) / 334-206-7828 (international) |
| DLA Contact Center | dlacontactcenter@dla.mil |
| Check Entity Status | sam.gov footer → "Check Entity Status" |
Final Thoughts
The SAM.gov registration process for foreign entities is poorly documented, occasionally broken, and designed for an audience that doesn't include you. The confirmation page after submission literally shouts "FREE" in capital letters multiple times — because a predatory industry of third-party companies charges small businesses $500–$2,000 to do what you just read in this guide.
It's free. It's doable. It just requires some persistence.
The U.S. federal government spends over $700 billion annually on contracts. A meaningful share of that is open to foreign businesses, especially in IT services, software development, and technical consulting. The registration hurdle keeps many foreign companies out — not because they can't compete, but because the process is opaque enough to be discouraging.
If you've made it through, you've already cleared the biggest barrier to entry. The next step is finding opportunities that match your capabilities — which is exactly what GovTrove is built for.
← Back to BlogReady to find federal contracts?
Search U.S. government contract opportunities — faster and easier than SAM.gov.
Start Searching