Beglaubigt.de API

Freiberufler / Einzelunternehmen

Create a tax registration for a freelancer or sole proprietor. Generates the ELSTER FsE_EUn form.

POST https://api.beglaubigt.de/v1/tax-registration

The request for a Freiberufler or Einzelunternehmen (freelancer or sole proprietor). legal_form is einzelunternehmen, which maps to the ELSTER FsE_EUn form. There is no company entity: the taxpayer is the owner, and the client company is named after them.

Authorization

Include an Authorization header with a Bearer token:

Authorization: Bearer <token>

Example: Bearer sk-123e4567-e89b-12d3-a456-426614174000

Request

Core

company_idstring

Assign the tax registration to a specific existing company. The company must not already have a tax registration; if it does, the request returns 409 COMPANY_ALREADY_REGISTERED. The environment must match the company: a sandbox registration cannot be assigned to a production company (or the reverse), which returns 409 ENVIRONMENT_MISMATCH. An unknown company_id returns 404 COMPANY_NOT_FOUND. Omit it to have a new company created and linked automatically.
Example: 9b2e4c7a-1d3f-4a8b-9c6e-2f5a7b8c1d0e

business_addressobject

Business address for the client company, stored on the company that gets created. Only applies when a new company is created (omit company_id); it is rejected if sent together with company_id.

legal_formstringrequired

The legal form.
Possible values: einzelunternehmen

packagestringrequired

The service package the client selected.
Possible values: self or guided

signature_pathstringrequired

The client's signature as an SVG path string (the drawn signature).
Example: M 10 10 L 90 90 M 90 10 L 10 90

environmentstringdefault: production

The ELSTER environment to file against. It also sets the created company's type: sandbox creates a staging company and files against test ELSTER; production creates a live company.
Possible values: sandbox or production

client_referencestring

A custom reference string for your own tracking.
Example: REF-2025-001

Business

purposestringrequired

Description of the business activity. Max 200 characters.
Example: Freiberufliche IT-Beratung

operational_activity_start_datestringrequired

The date the business begins operating. Format: YYYY-MM-DD.
Example: 2025-04-01

Owner & Address

ownerobjectrequired

The natural person behind the sole proprietorship (Inhaber).

address_same_as_homebooleanrequired

Whether the business address equals the owner's home address.
Possible values: true or false

addressobjectrequired

Business address, required when address_same_as_home is false (see the Address object).

Bank Account

ibanstring

The owner's business bank account IBAN. For a non-German IBAN you must also supply bic.
Example: DE89370400440532013000

bicstring

The bank identifier (BIC/SWIFT) for the account, 8 to 11 characters. Required for non-German IBANs.
Example: COBADEFFXXX

Revenue & Profit Estimates

financial_estimatesobjectrequired

Estimated revenue and taxable profit for the formation year and the following year. All amounts are whole euros.

formation_yearobjectrequired

Estimates for the formation year (the year the business starts operating).

following_yearobjectrequired

Estimates for the year after the formation year.

VAT

Freelancers (Freiberufler) are always taxed on a cash basis (Ist-Versteuerung, § 20 UStG), so vat.accounting_method does not apply to this form.

vatobjectrequired

The company's VAT setup.

Employees & Payroll

has_employeesboolean

Whether there are employees. Enables the payroll block. When true, the fields below are all required.
Possible values: true or false

employee_countnumber

Number of employees. Required when has_employees = true.
Example: 3

payroll_start_datestring

Start of wage payments. Must not be before operational_activity_start_date. Required when has_employees = true. Format: YYYY-MM-DD.
Example: 2025-06-01

estimated_annual_wage_taxnumber

Estimated annual wage tax (Lohnsteuer). Required when has_employees = true.
Example: 6000

Shared Objects

Addressobject

Response

resultstring

Outcome of the request.
Possible values: success or error

messagestring

Human-readable outcome message.
Example: Tax registration XML generated and stored. Awaiting manual ELSTER submission.

tax_registration_idstring

UUID of the tax registration case (equal to the id you supplied, if any). Use it with the GET endpoint.
Example: 450506c1-d1a7-46e2-aca6-41a816805595

statusstring

The case status once the XML passed schema and XSD checks.
Possible values: validated

timestampstring

ISO 8601 timestamp of the response.
Example: 2025-02-01T07:19:30.443Z

Example

Request
{
  "legal_form": "einzelunternehmen",
  "package": "self",
  "signature_path": "M 10 10 L 90 90 M 90 10 L 10 90",
  "purpose": "Freiberufliche IT-Beratung",
  "operational_activity_start_date": "2025-04-01",
  "owner": {
    "first_name": "Max",
    "last_name": "Mustermann",
    "dob": "1985-07-10",
    "profession": "IT-Berater",
    "tax_identification_number": "09481663279",
    "religion": "11",
    "address": {
      "street": "Schweizer Strasse 8",
      "street_second_line": "2. Etage",
      "zip": "60594",
      "city": "Frankfurt am Main",
      "country": "de"
    }
  },
  "address_same_as_home": true,
  "financial_estimates": {
    "formation_year": { "revenue_amount": 20000, "profit_amount": 18000 },
    "following_year": { "revenue_amount": 35000, "profit_amount": 30000 }
  },
  "environment": "sandbox"
}
Response
{
  "response": {
    "result": "success",
    "message": "Tax registration XML generated and stored. Awaiting manual ELSTER submission.",
    "tax_registration_id": "450506c1-d1a7-46e2-aca6-41a816805595",
    "status": "validated",
    "timestamp": "2025-02-01T07:19:30.443Z"
  }
}

On this page