---
id: object/codeunit/365
type: object
title: Codeunit 365 "Format Address"
summary: Codeunit 365 "Format Address" in Base Application (Microsoft.Foundation.Address). 72 public procedures, 75 events, 1 event subscribers. Present since at least BC23, still in BC30, changed in BC24-25, BC28.
tier: official
language: en
tags:
  - codeunit
  - 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: 86eb41f869b22a6e28ea6b245f1dfbde4771f00a20d6316dea504e93b92f7752
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Foundation/Address/FormatAddress.Codeunit.al
    title: src/Layers/W1/BaseApp/Foundation/Address/FormatAddress.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/at
    - localization/au
    - localization/ch
    - localization/de
    - localization/nz
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 365
name: Format Address
namespace: Microsoft.Foundation.Address
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"
  - "28"
source_major: "29"
obsolete: null
countries:
  - at
  - au
  - ch
  - de
  - nz
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 154
  events: 75
  subscribers: 1
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 120
  implements: 0
---

# Codeunit 365 "Format Address"

> Codeunit 365 "Format Address" in Base Application (Microsoft.Foundation.Address). 72 public procedures, 75 events, 1 event subscribers. Present since at least BC23, still in BC30, changed in BC24-25, BC28.

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

## Properties

| Property | Value |
|---|---|
| SingleInstance | true |
| Permissions | tabledata "Country/Region" = r |

## Events published

- `OnBeforeCompany(var AddrArray: array[8] of Text[100]; var CompanyInfo: Record "Company Information"; var IsHandled: Boolean)` (integration)
- `OnBeforeGetCompanyAddr(RespCenterCode: Code[10]; var ResponsibilityCenter: Record "Responsibility Center"; var CompanyInfo: Record "Company Information"; var CompanyAddr: array[8] of Text[100]; var IsHandled: Boolean)` (integration)
- `OnAfterFormatAddress(var AddrArray: array[8] of Text[100]; var Name: Text[100]; var Name2: Text[100]; var Contact: Text[100]; var Addr: Text[100]; var Addr2: Text[50]; var City: Text[50]; var PostCode: Code[20]; var County: Text[50]; var CountryCode: Code[10]; LanguageCode: Code[10])` (integration)
- `OnAfterGeneratePostCodeCity(var Country: Record "Country/Region"; var PostCode: Code[20]; var PostCodeCityText: Text[100]; var City: Text[50]; var CountyText: Text[50]; var County: Text[50])` (integration)
- `OnBeforeBankAcc(var AddrArray: array[8] of Text[100]; var BankAccount: Record "Bank Account"; var IsHandled: Boolean)` (integration)
- `OnBeforeLocation(var AddrArray: array[8] of Text[100]; var Location: Record Location; var IsHandled: Boolean)` (integration)
- `OnBeforeAltAddr(var AddrArray: array[8] of Text[100]; var Employee: Record Employee; var AlternativeAddress: Record "Alternative Address"; var IsHandled: Boolean)` (integration)
- `OnBeforeEmployee(var AddrArray: array[8] of Text[100]; var Employee: Record Employee; var IsHandled: Boolean)` (integration)
- `OnBeforeContactAddrAlt(var AddrArray: array[8] of Text[100]; var Cont: Record Contact; AltAddressCode: Code[10]; ActiveDate: Date; var Handled: Boolean)` (integration)
- `OnBeforeCustomer(var AddrArray: array[8] of Text[100]; var Cust: Record Customer; var Handled: Boolean)` (integration)
- `OnBeforeCustBankAcc(var AddrArray: array[8] of Text[100]; var CustomerBankAccount: Record "Customer Bank Account"; var IsHandled: Boolean)` (integration)
- `OnBeforeFormatAddress(Country: Record "Country/Region"; var AddrArray: array[8] of Text[100]; var Name: Text[100]; var Name2: Text[100]; var Contact: Text[100]; var Addr: Text[100]; var Addr2: Text[50]; var City: Text[50]; var PostCode: Code[20]; var County: Text[50]; var CountryCode: Code[10]; NameLineNo: Integer; Name2LineNo: Integer; AddrLineNo: Integer; Addr2LineNo: Integer; ContLineNo: Integer; PostCodeCityLineNo: Integer; CountyLineNo: Integer; CountryLineNo: Integer; var Handled: Boolean)` (integration)
- `OnBeforeFormatAddr(var Country: Record "Country/Region"; var CountryCode: Code[10])` (integration)
- `OnBeforeFormatPostCodeCity(var Country: Record "Country/Region"; var CountryCode: Code[10])` (integration)
- `OnBeforeFormatCompanyContactAddr(var AddrArray: array[8] of Text[100]; Cont: Record Contact; ContCompany: Record Contact; var IsHandled: Boolean)` (integration)
- `OnBeforeFormatPersonContactAddr(var AddrArray: array[8] of Text[100]; Cont: Record Contact; var IsHandled: Boolean)` (integration)
- `OnBeforeFinanceChargeMemo(var AddrArray: array[8] of Text[100]; var FinanceChargeMemoHeader: Record "Finance Charge Memo Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeIssuedFinanceChargeMemo(var AddrArray: array[8] of Text[100]; var IssuedFinChargeMemoHeader: Record "Issued Fin. Charge Memo Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeIssuedReminder(var AddrArray: array[8] of Text[100]; var IssuedReminderHeader: Record "Issued Reminder Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchHeaderBuyFromArch(var AddrArray: array[8] of Text[100]; var PurchHeaderArch: Record "Purchase Header Archive"; var Handled: Boolean)` (integration)
- `OnBeforePurchHeaderPayToArch(var AddrArray: array[8] of Text[100]; var PurchHeaderArch: Record "Purchase Header Archive"; var Handled: Boolean)` (integration)
- `OnBeforePurchHeaderShipToArch(var AddrArray: array[8] of Text[100]; var PurchHeaderArch: Record "Purchase Header Archive"; var Handled: Boolean)` (integration)
- `OnBeforePurchHeaderBuyFrom(var AddrArray: array[8] of Text[100]; var PurchaseHeader: Record "Purchase Header"; var Handled: Boolean)` (integration)
- `OnBeforePurchHeaderPayTo(var AddrArray: array[8] of Text[100]; var PurchaseHeader: Record "Purchase Header"; var Handled: Boolean)` (integration)
- `OnBeforePurchRcptBuyFrom(var AddrArray: array[8] of Text[100]; var PurchRcptHeader: Record "Purch. Rcpt. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchRcptPayTo(var AddrArray: array[8] of Text[100]; var PurchRcptHeader: Record "Purch. Rcpt. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchRcptShipTo(var AddrArray: array[8] of Text[100]; var PurchRcptHeader: Record "Purch. Rcpt. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchInvBuyFrom(var AddrArray: array[8] of Text[100]; var PurchInvHeader: Record "Purch. Inv. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchInvPayTo(var AddrArray: array[8] of Text[100]; var PurchInvHeader: Record "Purch. Inv. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchInvShipTo(var AddrArray: array[8] of Text[100]; var PurchInvHeader: Record "Purch. Inv. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchInvRemitToAddress(var RemitAddressBuffer: Record "Remit Address Buffer"; var PurchInvHeader: Record "Purch. Inv. Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchCrMemoBuyFrom(var AddrArray: array[8] of Text[100]; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr."; var IsHandled: Boolean)` (integration)
- `OnBeforePurchCrMemoPayTo(var AddrArray: array[8] of Text[100]; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr."; var IsHandled: Boolean)` (integration)
- `OnBeforePurchCrMemoShipTo(var AddrArray: array[8] of Text[100]; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr."; var IsHandled: Boolean)` (integration)
- `OnBeforePurchShptBuyFrom(var AddrArray: array[8] of Text[100]; var ReturnShptHeader: Record "Return Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchShptPayTo(var AddrArray: array[8] of Text[100]; var ReturnShptHeader: Record "Return Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeReminder(var AddrArray: array[8] of Text[100]; var ReminderHeader: Record "Reminder Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeRespCenter(var AddrArray: array[8] of Text[100]; var RespCenter: Record "Responsibility Center"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchShptShipTo(var AddrArray: array[8] of Text[100]; var ReturnShptHeader: Record "Return Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeSalesHeaderArchBillTo(var AddrArray: array[8] of Text[100]; var SalesHeaderArch: Record "Sales Header Archive"; var Handled: Boolean)` (integration)
- `OnBeforeSalesHeaderArchShipTo(var AddrArray: array[8] of Text[100]; CustAddr: array[8] of Text[100]; var SalesHeaderArch: Record "Sales Header Archive"; var Handled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeSalesHeaderBillTo(var AddrArray: array[8] of Text[100]; var SalesHeader: Record "Sales Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesHeaderSellTo(var AddrArray: array[8] of Text[100]; var SalesHeader: Record "Sales Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesHeaderShipTo(var AddrArray: array[8] of Text[100]; var CustAddr: array[8] of Text[100]; var SalesHeader: Record "Sales Header"; var Handled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeSalesInvBillTo(var AddrArray: array[8] of Text[100]; var SalesInvHeader: Record "Sales Invoice Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesInvShipTo(var AddrArray: array[8] of Text[100]; var SalesInvHeader: Record "Sales Invoice Header"; var Handled: Boolean; var Result: Boolean; var CustAddr: array[8] of Text[100])` (integration)
- `OnBeforeSalesCrMemoBillTo(var AddrArray: array[8] of Text[100]; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesCrMemoSellTo(var AddrArray: array[8] of Text[100]; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesCrMemoShipTo(var AddrArray: array[8] of Text[100]; var CustAddr: array[8] of Text[100]; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var Handled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeSalesShptShipTo(var AddrArray: array[8] of Text[100]; var SalesShipmentHeader: Record "Sales Shipment Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesShptBillTo(var AddrArray: array[8] of Text[100]; var ShipToAddr: array[8] of Text[100]; var SalesShipmentHeader: Record "Sales Shipment Header"; var Handled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeSalesShptSellTo(var AddrArray: array[8] of Text[100]; var SalesShipmentHeader: Record "Sales Shipment Header"; var Handled: Boolean)` (integration)
- `OnBeforeSalesRcptSellTo(var AddrArray: array[8] of Text[100]; var ReturnRcptHeader: Record "Return Receipt Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeSalesRcptShipTo(var AddrArray: array[8] of Text[100]; var ReturnRcptHeader: Record "Return Receipt Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeSalesRcptBillTo(var AddrArray: array[8] of Text[100]; var ShipToAddr: array[8] of Text[100]; var ReturnRcptHeader: Record "Return Receipt Header"; var IsHandled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeSalesInvSellTo(var AddrArray: array[8] of Text[100]; var SalesInvoiceHeader: Record "Sales Invoice Header"; var Handled: Boolean)` (integration)
- `OnBeforePurchHeaderShipTo(var AddrArray: array[8] of Text[100]; var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)` (integration)
- `OnBeforePurchHeaderRemitToAddress(var RemitAddressBuffer: Record "Remit Address Buffer"; var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeSetLineNos(Country: Record "Country/Region"; var NameLineNo: Integer; var Name2LineNo: Integer; var AddrLineNo: Integer; var Addr2LineNo: Integer; var ContLineNo: Integer; var PostCodeCityLineNo: Integer; var CountyLineNo: Integer; var CountryLineNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferHeaderTransferFrom(var AddrArray: array[8] of Text[100]; var TransferHeader: Record "Transfer Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferHeaderTransferTo(var AddrArray: array[8] of Text[100]; var TransferHeader: Record "Transfer Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferRcptTransferFrom(var AddrArray: array[8] of Text[100]; var TransferReceiptHeader: Record "Transfer Receipt Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferRcptTransferTo(var AddrArray: array[8] of Text[100]; var TransferReceiptHeader: Record "Transfer Receipt Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferShptTransferFrom(var AddrArray: array[8] of Text[100]; var TransferShipmentHeader: Record "Transfer Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferShptTransferTo(var AddrArray: array[8] of Text[100]; var TransferShipmentHeader: Record "Transfer Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateAddrArrayForPostCodeCity(var AddrArray: array[8] of Text[100]; Contact: Text[100]; ContLineNo: Integer; Country: Record "Country/Region"; CountryLineNo: Integer; PostCodeCityLineNo: Integer; CountyLineNo: Integer; City: Text[50]; PostCode: Code[20]; County: Text[50]; var IsHandled: Boolean)` (integration)
- `OnBeforeVendor(var AddrArray: array[8] of Text[100]; var Vendor: Record Vendor; var Handled: Boolean)` (integration)
- `OnBeforeVendBankAcc(var AddrArray: array[8] of Text[100]; var VendorBankAccount: Record "Vendor Bank Account"; var IsHandled: Boolean)` (integration)
- `OnBeforeVendorRemitToAddress(var AddrArray: array[8] of Text[100]; RemitAddress: Record "Remit Address"; var IsHandled: Boolean)` (integration)
- `OnFormatAddrOnAfterGetCountry(var AddrArray: array[8] of Text[100]; var Name: Text[100]; var Name2: Text[100]; var Contact: Text[100]; var Addr: Text[100]; var Addr2: Text[50]; var City: Text[50]; var PostCode: Code[20]; var County: Text[50]; var CountryCode: Code[10]; LanguageCode: Code[10]; var IsHandled: Boolean; var Country: Record "Country/Region")` (integration)
- `OnGetCompanyAddrOnAfterFillCompanyInfoFromRespCenter(ResponsibilityCenter: Record "Responsibility Center"; var CompanyInformation: Record "Company Information")` (integration)
- `OnBeforeJobSellTo(var AddrArray: array[8] of Text[100]; var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeJobBillTo(var AddrArray: array[8] of Text[100]; var Job: Record Job; var Handled: Boolean)` (integration)
- `OnBeforeJobShipTo(var AddrArray: array[8] of Text[100]; var Job: Record Job; var IsHandled: Boolean)` (integration)
- `OnBeforeUseCounty(var CountryCode: Code[10]; var IsHandled: Boolean; var ReturnValue: Boolean)` (integration)

## Event subscriptions

- ResetGLSetupReadOnGLSetupModify subscribes to Table "General Ledger Setup" OnAfterModifyEvent

## Procedures

- `FormatAddr(var AddrArray: array[8] of Text[100]; Name: Text[100]; Name2: Text[100]; Contact: Text[100]; Addr: Text[100]; Addr2: Text[50]; City: Text[50]; PostCode: Code[20]; County: Text[50]; CountryCode: Code[10])`: Formats address information based on value 'Address Format' for country, provided by CountryCode.
- `FormatPostCodeCity(var PostCodeCityText: Text[100]; var CountyText: Text[50]; City: Text[50]; PostCode: Code[20]; County: Text[50]; CountryCode: Code[10])`: Formats post code information based on value 'Address Format' for country, provided by CountryCode.
- `GeneratePostCodeCity(var PostCodeCityText: Text[100]; var CountyText: Text[50]; City: Text[50]; PostCode: Code[20]; County: Text[50]; Country: Record "Country/Region")`: Combines post code and city information based on value 'Address Format' of provided country.
- `GetCompanyAddr(RespCenterCode: Code[10]; var ResponsibilityCenter: Record "Responsibility Center"; var CompanyInfo: Record "Company Information"; var CompanyAddr: array[8] of Text[100])`: Formats company information.
- `Company(var AddrArray: array[8] of Text[100]; var CompanyInfo: Record "Company Information")`: Formats company name and address information.
- `Customer(var AddrArray: array[8] of Text[100]; var Cust: Record Customer)`: Formats customer name and address information.
- `Vendor(var AddrArray: array[8] of Text[100]; var Vend: Record Vendor)`: Formats vendor name and address information.
- `BankAcc(var AddrArray: array[8] of Text[100]; var BankAcc: Record "Bank Account")`: Formats bank account name and address information.
- `Location(var AddrArray: array[8] of Text[100]; var Location: Record Location)`: Formats location name and address information.
- `SalesHeaderSellTo(var AddrArray: array[8] of Text[100]; var SalesHeader: Record "Sales Header")`: Formats customer name and address information based on 'Sell-to' information of provided sales header.
- `SalesHeaderBillTo(var AddrArray: array[8] of Text[100]; var SalesHeader: Record "Sales Header")`: Formats customer name and address information based on 'Bill-to' information of provided sales header.
- `SalesHeaderShipTo(var AddrArray: array[8] of Text[100]; CustAddr: array[8] of Text[100]; var SalesHeader: Record "Sales Header"): Boolean`: Formats shipment address information based on 'Ship-to' information of provided sales header.
- `PurchHeaderBuyFrom(var AddrArray: array[8] of Text[100]; var PurchHeader: Record "Purchase Header")`: Formats vendor name and address information based on 'Buy-from' information of provided purchase header.
- `PurchHeaderPayTo(var AddrArray: array[8] of Text[100]; var PurchHeader: Record "Purchase Header")`: Formats vendor name and address information based on 'Pay-to' information of provided purchase header.
- `PurchHeaderShipTo(var AddrArray: array[8] of Text[100]; var PurchHeader: Record "Purchase Header")`: Formats shipment address information based on 'Ship-to' information of provided purchase header.
- `PurchHeaderRemitTo(var RemitAddressBuffer: Record "Remit Address Buffer"; var PurchHeader: Record "Purchase Header"): Boolean`: Gets vendor remit address information if exist.
- `SalesShptSellTo(var AddrArray: array[8] of Text[100]; var SalesShptHeader: Record "Sales Shipment Header")`: Formats customer name and address information based on 'Sell-to' information of provided sales shipment header.
- `SalesShptBillTo(var AddrArray: array[8] of Text[100]; ShipToAddr: array[8] of Text[100]; var SalesShptHeader: Record "Sales Shipment Header"): Boolean`: Format provided sales shipment document 'Bill-to' information.
- `SalesShptShipTo(var AddrArray: array[8] of Text[100]; var SalesShptHeader: Record "Sales Shipment Header")`: Formats shipment information for provided sales shipment header.
- `SalesInvSellTo(var AddrArray: array[8] of Text[100]; var SalesInvHeader: Record "Sales Invoice Header")`: Formats customer information based on 'Sell-to' information of provided sales invoice header.
- `SalesInvBillTo(var AddrArray: array[8] of Text[100]; var SalesInvHeader: Record "Sales Invoice Header")`: Formats customer information based on 'Bill-to' information of provided sales invoice header.
- `SalesInvShipTo(var AddrArray: array[8] of Text[100]; CustAddr: array[8] of Text[100]; var SalesInvHeader: Record "Sales Invoice Header"): Boolean`: Formats provided sales invoice header shipment information.
- `SalesCrMemoSellTo(var AddrArray: array[8] of Text[100]; var SalesCrMemoHeader: Record "Sales Cr.Memo Header")`
- `SalesCrMemoBillTo(var AddrArray: array[8] of Text[100]; var SalesCrMemoHeader: Record "Sales Cr.Memo Header")`: Formats customer name and address information based on 'Sell-to' information of provided sales cr.memo header.
- `SalesCrMemoShipTo(var AddrArray: array[8] of Text[100]; CustAddr: array[8] of Text[100]; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"): Boolean`: Formats customer name and address information based on 'Bill-to' information of provided sales cr.memo header.
- `SalesRcptSellTo(var AddrArray: array[8] of Text[100]; var ReturnRcptHeader: Record "Return Receipt Header")`
- `SalesRcptBillTo(var AddrArray: array[8] of Text[100]; ShipToAddr: array[8] of Text[100]; var ReturnRcptHeader: Record "Return Receipt Header"): Boolean`
- `SalesRcptShipTo(var AddrArray: array[8] of Text[100]; var ReturnRcptHeader: Record "Return Receipt Header")`
- `PurchRcptBuyFrom(var AddrArray: array[8] of Text[100]; var PurchRcptHeader: Record "Purch. Rcpt. Header")`
- `PurchRcptPayTo(var AddrArray: array[8] of Text[100]; var PurchRcptHeader: Record "Purch. Rcpt. Header")`
- `PurchRcptShipTo(var AddrArray: array[8] of Text[100]; var PurchRcptHeader: Record "Purch. Rcpt. Header")`
- `PurchInvBuyFrom(var AddrArray: array[8] of Text[100]; var PurchInvHeader: Record "Purch. Inv. Header")`
- `PurchInvPayTo(var AddrArray: array[8] of Text[100]; var PurchInvHeader: Record "Purch. Inv. Header")`
- `PurchInvShipTo(var AddrArray: array[8] of Text[100]; var PurchInvHeader: Record "Purch. Inv. Header")`
- `PurchInvRemitTo(var RemitAddressBuffer: Record "Remit Address Buffer"; var PurchInvHeader: Record "Purch. Inv. Header"): Boolean`
- `PurchCrMemoBuyFrom(var AddrArray: array[8] of Text[100]; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr.")`
- `PurchCrMemoPayTo(var AddrArray: array[8] of Text[100]; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr.")`
- `PurchCrMemoShipTo(var AddrArray: array[8] of Text[100]; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr.")`
- `PurchShptBuyFrom(var AddrArray: array[8] of Text[100]; var ReturnShptHeader: Record "Return Shipment Header")`
- `PurchShptPayTo(var AddrArray: array[8] of Text[100]; var ReturnShptHeader: Record "Return Shipment Header")`
- `PurchShptShipTo(var AddrArray: array[8] of Text[100]; var ReturnShptHeader: Record "Return Shipment Header")`
- `AltAddr(var AddrArray: array[8] of Text[100]; var Employee: Record Employee; var AlternativeAddr: Record "Alternative Address")`
- `Employee(var AddrArray: array[8] of Text[100]; var Employee: Record Employee)`
- `EmployeeAltAddr(var AddrArray: array[8] of Text[100]; var Employee: Record Employee)`
- `VendBankAcc(var AddrArray: array[8] of Text[100]; var VendBankAcc: Record "Vendor Bank Account")`
- `CustBankAcc(var AddrArray: array[8] of Text[100]; var CustBankAcc: Record "Customer Bank Account")`
- `RespCenter(var AddrArray: array[8] of Text[100]; var RespCenter: Record "Responsibility Center")`
- `TransferShptTransferFrom(var AddrArray: array[8] of Text[100]; var TransShptHeader: Record "Transfer Shipment Header")`
- `TransferShptTransferTo(var AddrArray: array[8] of Text[100]; var TransShptHeader: Record "Transfer Shipment Header")`
- `TransferRcptTransferFrom(var AddrArray: array[8] of Text[100]; var TransRcptHeader: Record "Transfer Receipt Header")`
- `TransferRcptTransferTo(var AddrArray: array[8] of Text[100]; var TransRcptHeader: Record "Transfer Receipt Header")`
- `TransferHeaderTransferFrom(var AddrArray: array[8] of Text[100]; var TransHeader: Record "Transfer Header")`
- `TransferHeaderTransferTo(var AddrArray: array[8] of Text[100]; var TransHeader: Record "Transfer Header")`
- `ContactAddr(var AddrArray: array[8] of Text[100]; var Cont: Record Contact)`
- `ContactAddrAlt(var AddrArray: array[8] of Text[100]; var Cont: Record Contact; AltAddressCode: Code[10]; ActiveDate: Date)`
- `PostalBarCode(AddressType: Option): Text[100]`
- `SalesHeaderArchBillTo(var AddrArray: array[8] of Text[100]; var SalesHeaderArch: Record "Sales Header Archive")`
- `SalesHeaderArchShipTo(var AddrArray: array[8] of Text[100]; CustAddr: array[8] of Text[100]; var SalesHeaderArch: Record "Sales Header Archive"): Boolean`
- `PurchHeaderBuyFromArch(var AddrArray: array[8] of Text[100]; var PurchHeaderArch: Record "Purchase Header Archive")`
- `PurchHeaderPayToArch(var AddrArray: array[8] of Text[100]; var PurchHeaderArch: Record "Purchase Header Archive")`
- `PurchHeaderShipToArch(var AddrArray: array[8] of Text[100]; var PurchHeaderArch: Record "Purchase Header Archive")`
- `Reminder(var AddrArray: array[8] of Text[100]; var ReminderHeader: Record "Reminder Header")`
- `IssuedReminder(var AddrArray: array[8] of Text[100]; var IssuedReminderHeader: Record "Issued Reminder Header")`
- `FinanceChargeMemo(var AddrArray: array[8] of Text[100]; var FinanceChargeMemoHeader: Record "Finance Charge Memo Header")`
- `IssuedFinanceChargeMemo(var AddrArray: array[8] of Text[100]; var IssuedFinChargeMemoHeader: Record "Issued Fin. Charge Memo Header")`
- `JobSellTo(var AddrArray: array[8] of Text[100]; var Job: Record Job)`
- `JobBillTo(var AddrArray: array[8] of Text[100]; var Job: Record Job)`
- `JobShipTo(var AddrArray: array[8] of Text[100]; var Job: Record Job)`
- `VendorRemitToAddress(var RemitAddress: Record "Remit Address"; var ArrayAddress: array[8] of Text[100])`
- `VendorRemitToAddress(var RemitAddress: Record "Remit Address"; var RemitAddressBuffer: Record "Remit Address Buffer")`
- `UseCounty(CountryCode: Code[10]): Boolean`
- `SetLanguageCode(NewLanguageCode: Code[10])`

Plus 6 local procedures.

## 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 1306 "Company Information Mgt."](../codeunit/1306.md) (1 call: `SetLanguageCode → GetLanguageDefault`)

## Called by

- [Codeunit 6001 "Service Format Address"](../codeunit/6001.md) (28 calls: `ServContractSellto → FormatAddr`, `ServContractSellto → SetLanguageCode`, `ServContractShipto → FormatAddr`, …)
- [Report 6521 "Item Tracking Appendix"](../report/6521.md) (7 calls: `AddressInvoiceHdr → SalesInvBillTo`, `AddressPurchaseHdr → PurchHeaderBuyFrom`, `AddressPurchaseHdr → PurchHeaderPayTo`, …)
- [Page 404 "Check Preview"](../page/404.md) (6 calls: `FormatTextFieldsForCheck → BankAcc`, `FormatTextFieldsForCheck → Customer`, `FormatTextFieldsForCheck → Employee`, …)
- [Report 1322 "Standard Purchase - Order"](../report/1322.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderBuyFrom`, `FormatAddressFields → PurchHeaderPayTo`, …)
- [Report 405 "Order"](../report/405.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderBuyFrom`, `FormatAddressFields → PurchHeaderPayTo`, …)
- [Report 406 "Purchase - Invoice"](../report/406.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchInvPayTo`, `FormatAddressFields → PurchInvRemitTo`, …)
- [Report 413 "Self Billing Invoice"](../report/413.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchInvPayTo`, `FormatAddressFields → PurchInvRemitTo`, …)
- [Report 416 "Archived Purchase Order"](../report/416.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderBuyFromArch`, `FormatAddressFields → PurchHeaderPayToArch`, …)
- [Report 417 "Arch.Purch. Return Order"](../report/417.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderBuyFromArch`, `FormatAddressFields → PurchHeaderPayToArch`, …)
- [Report 5174 "Archived Blanket Purch. Order"](../report/5174.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderBuyFromArch`, `FormatAddressFields → PurchHeaderPayToArch`, …)
- [Report 6641 "Return Order"](../report/6641.md) (4 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderBuyFrom`, `FormatAddressFields → PurchHeaderPayTo`, …)
- [Page 138 "Posted Purchase Invoice"](../page/138.md) (3 calls: `ActivateFields → UseCounty`, `FillRemitToFields → UseCounty`, `FillRemitToFields → VendorRemitToAddress`)
- [Page 300 "Ship-to Address"](../page/300.md) (3 calls: `OnAfterGetCurrRecord → UseCounty`, `OnAfterGetRecord → UseCounty`, `OnOpenPage → UseCounty`)
- [Report 1302 "Standard Sales - Pro Forma Inv"](../report/1302.md) (3 calls: `FormatDocumentFields → GetCompanyAddr`, `FormatDocumentFields → SalesHeaderBillTo`, `FormatDocumentFields → SetLanguageCode`)
- [Report 1306 "Standard Sales - Invoice"](../report/1306.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesInvBillTo`, `FormatAddressFields → SalesInvShipTo`)
- [Report 1307 "Standard Sales - Credit Memo"](../report/1307.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesCrMemoBillTo`, `FormatAddressFields → SalesCrMemoShipTo`)
- [Report 1308 "Standard Sales - Shipment"](../report/1308.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesShptBillTo`, `FormatAddressFields → SalesShptShipTo`)
- [Report 1309 "Standard Sales - Return Rcpt."](../report/1309.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesRcptBillTo`, `FormatAddressFields → SalesRcptShipTo`)
- [Report 208 "Sales - Shipment"](../report/208.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesShptBillTo`, `FormatAddressFields → SalesShptShipTo`)
- [Report 210 "Blanket Sales Order"](../report/210.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesHeaderBillTo`, `FormatAddressFields → SalesHeaderShipTo`)
- [Report 215 "Archived Sales Quote"](../report/215.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesHeaderArchBillTo`, `FormatAddressFields → SalesHeaderArchShipTo`)
- [Report 216 "Archived Sales Order"](../report/216.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesHeaderArchBillTo`, `FormatAddressFields → SalesHeaderArchShipTo`)
- [Report 404 "Purchase - Quote"](../report/404.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderPayTo`, `FormatAddressFields → PurchHeaderShipTo`)
- [Report 407 "Purchase - Credit Memo"](../report/407.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchCrMemoPayTo`, `FormatAddressFields → PurchCrMemoShipTo`)
- [Report 408 "Purchase - Receipt"](../report/408.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchRcptPayTo`, `FormatAddressFields → PurchRcptShipTo`)
- [Report 410 "Blanket Purchase Order"](../report/410.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderPayTo`, `FormatAddressFields → PurchHeaderShipTo`)
- [Report 415 "Archived Purchase Quote"](../report/415.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchHeaderPayToArch`, `FormatAddressFields → PurchHeaderShipToArch`)
- [Report 418 "Arch. Sales Return Order"](../report/418.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesHeaderArchBillTo`, `FormatAddressFields → SalesHeaderArchShipTo`)
- [Report 5176 "Archived Blanket Sales Order"](../report/5176.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesHeaderArchBillTo`, `FormatAddressFields → SalesHeaderArchShipTo`)
- [Report 6222 "EUDR Sales Invoice"](../report/6222.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesInvBillTo`, `FormatAddressFields → SalesInvShipTo`)
- [Report 6631 "Return Order Confirmation"](../report/6631.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesHeaderBillTo`, `FormatAddressFields → SalesHeaderShipTo`)
- [Report 6636 "Purchase - Return Shipment"](../report/6636.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → PurchShptBuyFrom`, `FormatAddressFields → PurchShptShipTo`)
- [Report 6646 "Sales - Return Receipt"](../report/6646.md) (3 calls: `FormatAddressFields → GetCompanyAddr`, `FormatAddressFields → SalesRcptBillTo`, `FormatAddressFields → SalesRcptShipTo`)
- [Codeunit 20440 "Qlty. Report Mgmt."](../codeunit/20440.md) (2 calls: `ResolveCertificateContactInformation → ContactAddr`, `ResolveCompanyInformation → Company`)
- [Page 50 "Purchase Order"](../page/50.md) (2 calls: `ActivateFields → UseCounty`, `FillRemitToFields → VendorRemitToAddress`)
- [Page 51 "Purchase Invoice"](../page/51.md) (2 calls: `ActivateFields → UseCounty`, `FillRemitToFields → VendorRemitToAddress`)
- [Codeunit 1002 "Job Create-Invoice"](../codeunit/1002.md) (1 call: `UpdateSalesHeader → UseCounty`)
- [Codeunit 2114 "O365 HTML Templ. Mgt."](../codeunit/2114.md) (1 call: `FillCompanyInfoSection → Company`)
- [Codeunit 5069 "Word Template Interactions"](../codeunit/5069.md) (1 call: `GetContactAltAddresses → ContactAddrAlt`)
- [Codeunit 9666 "Company Metadata Builder"](../codeunit/9666.md) (1 call: `PopulateFromCompanyInformation → Company`)
- [Page 1 "Company Information"](../page/1.md) (1 call: `ActivateFields → UseCounty`)
- [Page 1003 "Job Task Card"](../page/1003.md) (1 call: `ActivateFields → UseCounty`)
- [Page 130 "Posted Sales Shipment"](../page/130.md) (1 call: `OnOpenPage → UseCounty`)
- [Page 132 "Posted Sales Invoice"](../page/132.md) (1 call: `ActivateFields → UseCounty`)
- [Page 134 "Posted Sales Credit Memo"](../page/134.md) (1 call: `ActivateFields → UseCounty`)
- [Page 1352 "Posted Return Shpt. - Update"](../page/1352.md) (1 call: `ActivateFields → UseCounty`)
- [Page 1353 "Posted Return Receipt - Update"](../page/1353.md) (1 call: `ActivateFields → UseCounty`)
- [Page 136 "Posted Purchase Receipt"](../page/136.md) (1 call: `ActivateFields → UseCounty`)
- [Page 1382 "Customer Templ. Card"](../page/1382.md) (1 call: `OnOpenPage → UseCounty`)
- [Page 1386 "Vendor Templ. Card"](../page/1386.md) (1 call: `OnOpenPage → UseCounty`)
- and 70 more: data/code/graph/29/calls.json

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, BC28

## Countries that replace it

[AT](../../localizations/at.md), [AU](../../localizations/au.md), [CH](../../localizations/ch.md), [DE](../../localizations/de.md), [NZ](../../localizations/nz.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: "codeunit", object_name: "Format Address")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
