# Company methods: submit

URL: /code/sdk/company/verbs-submit · Id: `page:code/sdk/company/verbs-submit`

> The Company Verbs submit as typed SDK methods, with inputs, result, refusals and an example.

Reference for [Company](/business/nouns/company), one group of [Company methods](/code/sdk/company).

### Company.submit
Submit files one tax return for a jurisdiction and its Periods, pays the tax due, and keeps the return as a Document. [Verb page](/business/nouns/company/submit?interface=sdk).

```ts
interface CompanyVerbs {
  submit(input: CompanySubmitInput, options?: SB.CallOptions): SB.Call<CompanySubmitOutput>
}
```

Emits [`Company.submitted`](/business/events/Company.submitted).

**Inputs**

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `jurisdiction` | `string` | Yes | Where the return is filed, such as `US-TX`. |
| `kind` | `string` | Yes | What the return reports: sales tax, VAT, GST, income, franchise tax, or an information return. |
| `periods` | list of [Period](/business/nouns/period) | Yes | The locked Periods the return covers: one month, a quarter or a year. |

**Returns**

| Output | Type | Required | Description |
| --- | --- | --- | --- |
| `taxReturn` | [Document](/business/nouns/document) | Yes | The return as submitted, with the authority’s confirmation. |
| `payment` | [Transaction](/business/nouns/transaction) | No | The payment of the tax due; none for an information return. |
| `company` | [Company](/business/nouns/company) | Yes | The Company that filed the return. |

**Refuses when**

| Check | Error | Fix | Then call |
| --- | --- | --- | --- |
| The key is valid, but its scopes do not allow this operation. | [`forbidden`](/code/api/errors/forbidden) | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |

**Example**

```ts
import { $ } from 'startup-builder'

const { taxReturn, payment, company } = await $.Company.submit({ jurisdiction: 'US-TX', kind: 'salesTax', periods: ['period_VEVuYACTsH'] })
```