---
id: object/table/222
type: object
title: Table 222 "Ship-to Address"
summary: Table 222 "Ship-to Address" in Base Application (Microsoft.Sales.Customer). 27 fields, 3 public procedures, 10 events. Present since at least BC23, still in BC30, changed in BC24-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: 1beed28350f91deb01cee5501bf05c3fe758f7a2bd5a7dff60a9cf797e349954
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Customer/ShiptoAddress.Table.al
    title: src/Layers/W1/BaseApp/Sales/Customer/ShiptoAddress.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/across-online-maps
    - https://learn.microsoft.com/dynamics365/business-central/sales-setup-sales
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-use-multiple-vat-registrations
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/working-with-value-added-tax-vat
    - topic/business-central/business-functionality/general-business-functionality
    - topic/business-central/business-functionality/set-up-business-central/set-up-sales
  localizations:
    - localization/ca
    - localization/mx
    - localization/ru
    - localization/us
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9397
object_type: table
object_id: 222
name: Ship-to Address
namespace: Microsoft.Sales.Customer
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - ca
  - mx
  - ru
  - us
ms_search_form_ids: []
counts:
  fields: 27
  procedures: 15
  events: 10
  subscribers: 0
relations:
  out: 11
  referenced_by: 71
  pages: 2
  extended_by: 1
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Table 222 "Ship-to Address"

> Table 222 "Ship-to Address" in Base Application (Microsoft.Sales.Customer). 27 fields, 3 public procedures, 10 events. Present since at least BC23, still in BC30, changed in BC24-28.

Base Application · Microsoft.Sales.Customer · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Customer/ShiptoAddress.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 300 "Ship-to Address"](../page/300.md) (2 Learn pages), [Page 301 "Ship-to Address List"](../page/301.md) (2).

## Properties

| Property | Value |
|---|---|
| Caption | Ship-to Address |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Customer No. | Code[20] | Specifies the customer number. | TableRelation [Table 18 "Customer"](../table/18.md); NotBlank |
| 2 | Code | Code[10] | Specifies a ship-to address code. | NotBlank |
| 3 | Name | Text[100] | Specifies the name associated with the ship-to address. |  |
| 4 | Name 2 | Text[50] | Specifies an additional part of the name. |  |
| 5 | Address | Text[100] | Specifies the ship-to address. |  |
| 6 | Address 2 | Text[50] | Specifies additional address information. |  |
| 7 | City | Text[30] | Specifies the city the items are being shipped to. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Country/Region Code" = const('')) "Post Code".City else if ("Country/Region Code" = filter(<> '')) "Post Code".City where("Country/Region Code" = field("Country/Region Code"))) |
| 8 | Contact | Text[100] | Specifies the name of the person you contact about orders shipped to this address. |  |
| 9 | Phone No. | Text[30] | Specifies the recipient's telephone number. |  |
| 10 | Telex No. | Text[30] | — |  |
| 29 | Salesperson Code | Code[20] | Specifies a code for the salesperson who normally handles this customer's recipient. | TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md) ("Salesperson/Purchaser" where(Blocked = const(false))) |
| 30 | Shipment Method Code | Code[10] | Specifies a code for the shipment method to be used for the recipient. | TableRelation [Table 10 "Shipment Method"](../table/10.md) (Shipment Method) |
| 31 | Shipping Agent Code | Code[10] | Specifies the code for the shipping agent who is transporting the items. | TableRelation [Table 291 "Shipping Agent"](../table/291.md) (Shipping Agent) |
| 32 | Place of Export | Code[20] | — |  |
| 35 | Country/Region Code | Code[10] | Specifies the country/region of the address. | TableRelation [Table 9 "Country/Region"](../table/9.md) (Country/Region) |
| 54 | Last Date Modified | Date | Specifies when the ship-to address was last modified. | not editable |
| 83 | Location Code | Code[10] | Specifies the location code to be used for the recipient. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 84 | Fax No. | Text[30] | Specifies the recipient's fax number. |  |
| 85 | Telex Answer Back | Text[20] | — |  |
| 90 | GLN | Code[13] | Specifies the recipient's GLN code. |  |
| 91 | Post Code | Code[20] | Specifies the postal code. | TableRelation [Table 225 "Post Code"](../table/225.md) (if ("Country/Region Code" = const('')) "Post Code" else if ("Country/Region Code" = filter(<> '')) "Post Code" where("Country/Region Code" = field("Country/Region Code"))) |
| 92 | County | Text[30] | Specifies the state, province, or county as a part of the address. |  |
| 102 | E-Mail | Text[80] | Specifies the recipient's email address. |  |
| 103 | Home Page | Text[255] | Specifies the recipient's web site. |  |
| 108 | Tax Area Code | Code[20] | — | TableRelation [Table 318 "Tax Area"](../table/318.md) (Tax Area) |
| 109 | Tax Liable | Boolean | — |  |
| 5792 | Shipping Agent Service Code | Code[10] | Specifies the code for the service, such as a one-day delivery, that is offered by the shipping agent. | TableRelation [Table 5790 "Shipping Agent Services"](../table/5790.md) ("Shipping Agent Services".Code where("Shipping Agent Code" = field("Shipping Agent Code"))) |

## Keys

- Key1: Customer No., Code (clustered)

## Events published

- `OnAfterLookupPostCode(var ShipToAddress: Record "Ship-to Address"; var PostCodeRec: Record "Post Code"; xShipToAddress: Record "Ship-to Address")` (integration): Raised after looking up the post code.
- `OnAfterLookupCity(var ShipToAddress: Record "Ship-to Address"; var PostCodeRec: Record "Post Code"; xShipToAddress: Record "Ship-to Address")` (integration): Raised after looking up the city.
- `OnAfterValidateCity(var ShipToAddress: Record "Ship-to Address"; var PostCode: Record "Post Code")` (integration): Raised after validating the city field.
- `OnAfterValidatePostCode(var ShipToAddress: Record "Ship-to Address"; var PostCode: Record "Post Code")` (integration): Raised after validating the post code field.
- `OnBeforeLookupCity(var ShipToAddress: Record "Ship-to Address"; var PostCodeRec: Record "Post Code")` (integration): Raised before looking up the city.
- `OnBeforeLookupPostCode(var ShipToAddress: Record "Ship-to Address"; var PostCodeRec: Record "Post Code")` (integration): Raised before looking up the post code.
- `OnBeforeValidateCity(var ShipToAddress: Record "Ship-to Address"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Raised before validating the city field.
- `OnBeforeValidateEmail(var ShiptoAddress: Record "Ship-to Address"; xShiptoAddress: Record "Ship-to Address"; var IsHandled: Boolean)` (integration): Raised before validating the email field.
- `OnBeforeValidatePostCode(var ShipToAddress: Record "Ship-to Address"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration): Raised before validating the post code field.
- `OnBeforeGetFilterCustNo(var ShipToAddress: Record "Ship-to Address")` (integration): Raised before retrieving the filtered customer number.

## Procedures

- `Caption(): Text`: Generates a caption text for the ship-to address including customer and address information.
- `DisplayMap()`: Displays the ship-to address on an online map service.
- `GetFilterCustNo(): Code[20]`: Gets the customer number from the current filter if a single value is specified.

Plus 2 local procedures.

## Triggers

OnInsert, OnDelete, OnModify, OnRename

## Relations

- lookup page [Page 301 "Ship-to Address List"](../page/301.md)
- Shipment Method Code: TableRelation [Table 10 "Shipment Method"](../table/10.md)
- Salesperson Code: TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- City: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Post Code: TableRelation [Table 225 "Post Code"](../table/225.md) (conditional)
- Shipping Agent Code: TableRelation [Table 291 "Shipping Agent"](../table/291.md)
- Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- Shipping Agent Service Code: TableRelation [Table 5790 "Shipping Agent Services"](../table/5790.md)
- Country/Region Code: TableRelation [Table 9 "Country/Region"](../table/9.md)

## Referenced by

71 fields in 50 objects relate to this table (TableRelation or CalcFormula).

- [Table 5940 "Service Item"](../table/5940.md): Ship-to Address, Ship-to Address 2, Ship-to City, Ship-to Contact, Ship-to Country/Region Code, Ship-to County, Ship-to E-Mail, Ship-to Name, Ship-to Name 2, Ship-to Phone No., Ship-to Post Code, Ship-to Code
- [Table 5965 "Service Contract Header"](../table/5965.md): Ship-to Address, Ship-to Address 2, Ship-to City, Ship-to Country/Region Code, Ship-to County, Ship-to Name, Ship-to Name 2, Ship-to Phone No., Ship-to Post Code, Ship-to Code
- [Table 18 "Customer"](../table/18.md): No. of Ship-to Addresses, Ship-to Code
- [Table 1001 "Job Task"](../table/1001.md): Ship-to Code
- [Table 110 "Sales Shipment Header"](../table/110.md): Ship-to Code
- [Table 112 "Sales Invoice Header"](../table/112.md): Ship-to Code
- [Table 114 "Sales Cr.Memo Header"](../table/114.md): Ship-to Code
- [Table 120 "Purch. Rcpt. Header"](../table/120.md): Ship-to Code
- [Table 122 "Purch. Inv. Header"](../table/122.md): Ship-to Code
- [Table 124 "Purch. Cr. Memo Hdr."](../table/124.md): Ship-to Code
- [Table 1571 "VAT Entry Posting Preview"](../table/1571.md): Ship-to/Order Address Code
- [Table 167 "Job"](../table/167.md): Ship-to Code
- [Table 181 "Posted Gen. Journal Line"](../table/181.md): Ship-to/Order Address Code
- [Table 246 "Requisition Line"](../table/246.md): Ship-to Code
- [Table 254 "VAT Entry"](../table/254.md): Ship-to/Order Address Code
- [Table 36 "Sales Header"](../table/36.md): Ship-to Code
- [Table 38 "Purchase Header"](../table/38.md): Ship-to Code
- [Table 5107 "Sales Header Archive"](../table/5107.md): Ship-to Code
- [Table 5135 "Job Archive"](../table/5135.md): Ship-to Code
- [Table 5136 "Job Task Archive"](../table/5136.md): Ship-to Code
- [Table 5900 "Service Header"](../table/5900.md): Ship-to Code
- [Table 5901 "Service Item Line"](../table/5901.md): Ship-to Code
- [Table 5902 "Service Line"](../table/5902.md): Ship-to Code
- [Table 5907 "Service Ledger Entry"](../table/5907.md): Ship-to Code
- [Table 5908 "Warranty Ledger Entry"](../table/5908.md): Ship-to Code
- [Table 5964 "Service Contract Line"](../table/5964.md): Ship-to Code
- [Table 5969 "Contract Gain/Loss Entry"](../table/5969.md): Ship-to Code
- [Table 5970 "Filed Service Contract Header"](../table/5970.md): Ship-to Code
- [Table 5971 "Filed Contract Line"](../table/5971.md): Ship-to Code
- [Table 5989 "Service Shipment Item Line"](../table/5989.md): Ship-to Code
- [Table 5990 "Service Shipment Header"](../table/5990.md): Ship-to Code
- [Table 5991 "Service Shipment Line"](../table/5991.md): Ship-to Code
- [Table 5992 "Service Invoice Header"](../table/5992.md): Ship-to Code
- [Table 5993 "Service Invoice Line"](../table/5993.md): Ship-to Code
- [Table 5994 "Service Cr.Memo Header"](../table/5994.md): Ship-to Code
- [Table 5995 "Service Cr.Memo Line"](../table/5995.md): Ship-to Code
- [Table 6010 "Service Header Archive"](../table/6010.md): Ship-to Code
- [Table 6011 "Service Item Line Archive"](../table/6011.md): Ship-to Code
- [Table 6012 "Service Line Archive"](../table/6012.md): Ship-to Code
- [Table 6650 "Return Shipment Header"](../table/6650.md): Ship-to Code
- [Table 6660 "Return Receipt Header"](../table/6660.md): Ship-to Code
- [Table 6788 "Withholding Tax Entry"](../table/6788.md): Ship-to/Order Address Code
- [Table 6790 "Temp Withholding Tax Entry"](../table/6790.md): Ship-to/Order Address Code
- [Table 751 "Standard General Journal Line"](../table/751.md): Ship-to/Order Address Code
- [Table 8008 "Imported Subscription Header"](../table/8008.md): Ship-to Code
- [Table 8010 "Imported Cust. Sub. Contract"](../table/8010.md): Ship-to Code
- [Table 8052 "Customer Subscription Contract"](../table/8052.md): Ship-to Code
- [Table 8057 "Subscription Header"](../table/8057.md): Ship-to Code
- [Table 81 "Gen. Journal Line"](../table/81.md): Ship-to/Order Address Code
- [Table extension 6450 "Serv. Customer"](../tableextension/6450.md): Ship-to Filter

## Pages and codeunits on this table

- [Page 300 "Ship-to Address"](../page/300.md) (source table)
- [Page 301 "Ship-to Address List"](../page/301.md) (source table)

## Extended by

- [Table extension 6466 "Serv. Ship-To Address"](../tableextension/6466.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 802 "Online Map Management"](../codeunit/802.md) (1 call: `DisplayMap → MakeSelectionIfMapEnabled`)
- [Codeunit 9520 "Mail Management"](../codeunit/9520.md) (1 call: `ValidateEmail → ValidateEmailAddressField`)

## Recent changes

- 2026-07-15 [#9397 [main] Ship to address Var/protected var fix](../../changes/bcapps/9397.md) (main, BC30, fix)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-28

## Countries that replace it

[CA](../../localizations/ca.md), [MX](../../localizations/mx.md), [RU](../../localizations/ru.md), [US](../../localizations/us.md)

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: "table", object_name: "Ship-to Address")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
