---
id: object/page/119
type: object
title: Page 119 "User Setup"
summary: Page 119 "User Setup" in Base Application (System.Security.User). Present since at least BC23, still in BC30, changed in BC27.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "27"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 929ebc8ecbd8c25e2af9b50020671e213dc47a5a5384374957a95c3a4ab87a23
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/User/UserSetup.Page.al
    title: src/Layers/W1/BaseApp/System/User/UserSetup.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ui-define-granular-permissions
    title: Define granular permissions
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ui-how-users-permissions
    title: Create users according to licenses
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ui-legacy-user-groups
    title: Manage permissions through user groups (legacy)
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ui-security-groups
    title: Control Access Using Security Groups
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/ui-define-granular-permissions
    - https://learn.microsoft.com/dynamics365/business-central/ui-how-users-permissions
    - https://learn.microsoft.com/dynamics365/business-central/ui-legacy-user-groups
    - https://learn.microsoft.com/dynamics365/business-central/ui-security-groups
  objects: []
  features: []
  topics:
    - topic/business-central/development-and-administration/administration-tasks-in-business-central/manage-access-to-business-central
    - topic/business-central/development-and-administration/administration-tasks-in-business-central/manage-access-to-business-central/grant-user-permissions
    - topic/dev-itpro/development/troubleshooting/troubleshooting-in-the-client
    - topic/dev-itpro/integration/integrating-with-infrastructure-services
    - topic/dev-itpro/security-privacy-and-compliance/security/application-security
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 119
name: User Setup
namespace: System.Security.User
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "27"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/ui-define-granular-permissions.md
  - docs/learn-smb-docs/business-central/ui-how-users-permissions.md
  - docs/learn-smb-docs/business-central/ui-legacy-user-groups.md
  - docs/learn-smb-docs/business-central/ui-security-groups.md
counts:
  fields: 0
  procedures: 0
  events: 0
  subscribers: 0
  controls: 21
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 2
  extended_by: 2
  event_subscribers: 0
  calls: 1
  called_by: 2
  implements: 0
---

# Page 119 "User Setup"

> Page 119 "User Setup" in Base Application (System.Security.User). Present since at least BC23, still in BC30, changed in BC27.

Base Application · System.Security.User · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/User/UserSetup.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | User Setup |
| SourceTable | User Setup |
| PageType | List |
| UsageCategory | Administration |
| ApplicationArea | Basic, Suite |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Control1 | User ID | [User ID](../table/91.md#fields) | Specifies the ID of the user who posted the entry, to be used, for example, in the change log. |
|  | Allow Posting From | [Allow Posting From](../table/91.md#fields) | Specifies the earliest date on which the user is allowed to post to the company. |
|  | Allow Posting To | [Allow Posting To](../table/91.md#fields) | Specifies the last date on which the user is allowed to post to the company. |
|  | Allow Posting From DateFormula | [Allow Posting From DateFormula](../table/91.md#fields) | Specifies a date formula to calculate the earliest date, relative to today's date, on which posting to the company books is allowed. |
|  | Allow Posting To DateFormula | [Allow Posting To DateFormula](../table/91.md#fields) | Specifies a date formula to calculate the latest date, relative to today's date, on which posting to the company books is allowed. |
|  | Allow VAT From | [Allow VAT Date From](../table/91.md#fields) | Specifies the earliest date on which the user is allowed to post VAT to the company books is allowed. |
|  | Allow VAT To | [Allow VAT Date To](../table/91.md#fields) | Specifies the last date on which the user is allowed to post VAT to the company books is allowed. |
|  | Allow Deferral Posting From | [Allow Deferral Posting From](../table/91.md#fields) | Specifies the earliest date on which the user is allowed to post deferrals to the company. |
|  | Allow Deferral Posting To | [Allow Deferral Posting To](../table/91.md#fields) | Specifies the last date on which the user is allowed to post deferrals to the company. |
|  | Sales Invoice Posting Policy | [Sales Invoice Posting Policy](../table/91.md#fields) | Specify if you want user who posts warehouse shipment, sales shipments, or inventory pick to be able to post invoice/credit-memo as well. |
|  | Purch. Invoice Posting Policy | [Purch. Invoice Posting Policy](../table/91.md#fields) | Specify if you want user who posts purchase receipt or inventory put-away to be able to post invoice/credit-memo as well. |
|  | Service Invoice Posting Policy | [Service Invoice Posting Policy](../table/91.md#fields) | Specify if you want user who posts warehouse shipment or service shipments to be able to post invoice/credit-memo as well. |
|  | Register Time | [Register Time](../table/91.md#fields) | Specifies whether to register the user's time usage defined as the time spent from when the user logs in to when the user logs out. Unexpected interruptions, such as idle session timeout, terminal server idle session timeout, or a client crash are not recorded. |
|  | Salespers./Purch. Code | [Salespers./Purch. Code](../table/91.md#fields) | Specifies the code for the salesperson or purchaser for the user. |
|  | Sales Resp. Ctr. Filter | [Sales Resp. Ctr. Filter](../table/91.md#fields) | Specifies the code for the responsibility center to which you want to assign the user. |
|  | Purchase Resp. Ctr. Filter | [Purchase Resp. Ctr. Filter](../table/91.md#fields) | Specifies the code for the responsibility center to which you want to assign the user. |
|  | Service Resp. Ctr. Filter | [Service Resp. Ctr. Filter](../table/91.md#fields) | Specifies the code for the responsibility center you want to assign to the user. The user will only be able to see service documents for the responsibility center specified in the field. This responsibility center will also be the default responsibility center when the user creates new service docum... |
|  | Time Sheet Admin. | [Time Sheet Admin.](../table/91.md#fields) | Specifies if a user is a time sheet administrator. A time sheet administrator can access any time sheet and then edit, change, or delete it. |
|  | Email | [E-Mail](../table/91.md#fields) | Specifies the user's email address. |
|  | PhoneNo | [Phone No.](../table/91.md#fields) | Specifies the user's phone number. |
|  | LicenseType | [License Type](../table/91.md#fields) | Specifies the user's License Type. |

## Triggers

OnOpenPage

## Relations

- source table [Table 91 "User Setup"](../table/91.md)

## Pages and codeunits on this table

- [Table 91 "User Setup"](../table/91.md) (drill-down page)
- [Table 91 "User Setup"](../table/91.md) (lookup page)

## Extended by

- [Page extension 6210 "Sust. User Setup"](../pageextension/6210.md)
- [Page extension 8015 "User Setup"](../pageextension/8015.md)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 799 "VAT Reporting Date Mgt"](../codeunit/799.md) (1 call: `OnOpenPage → IsVATDateEnabled`)

## Called by

- [Codeunit 1390 "Document Notifications"](../codeunit/1390.md) (1 call: `ShowUserSetup → (object)`)
- [Report 950 "Create Time Sheets"](../report/950.md) (1 call: `CheckUserSetup → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC27

## Documented on Microsoft Learn

- [Define granular permissions](https://learn.microsoft.com/dynamics365/business-central/ui-define-granular-permissions)
- [Create users according to licenses](https://learn.microsoft.com/dynamics365/business-central/ui-how-users-permissions)
- [Manage permissions through user groups (legacy)](https://learn.microsoft.com/dynamics365/business-central/ui-legacy-user-groups)
- [Control Access Using Security Groups](https://learn.microsoft.com/dynamics365/business-central/ui-security-groups)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "User Setup")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
