CRD1 table in SAP Business One (Business Partner Addresses)
CRD1 is the SAP Business One table that stores the addresses of business partners: one row per bill-to or ship-to address, linked to the partner in OCRD by CardCode. AdresType is B for bill-to and S for ship-to, and the default address of each kind is named in OCRD.BillToDef and OCRD.ShipToDef.
What is the CRD1 table in SAP B1?
CRD1 is the SAP Business One table for business partner addresses. Each row is one bill-to or ship-to address of a customer, vendor or lead and joins to OCRD on CardCode. AdresType separates the two kinds (B = bill-to, S = ship-to), and the Address column holds the address name that users pick on documents.
Where is the CRD1 table in SAP B1?
In SAP Business One 10.0, CRD1 is the "Business Partners - Addresses" table with 45 columns. You see its data in Business Partners → Business Partner Master Data (header table OCRD).
| Table | CRD1 Business Partners - Addresses (child of OCRD) |
|---|---|
| Object type (ObjType) | 2 (oBusinessPartners), the object type of OCRD |
| Menu path | Business Partners → Business Partner Master Data |
| DI API object | BusinessPartners |
| Service Layer entity | BusinessPartners (request builder) |
| Columns | 45 in SAP B1 10.0 (SDK database tables reference) |
CRD1 key fields
| Field | SAP type | What it holds |
|---|---|---|
CardCode | nVarChar(15) | Business partner. Joins to OCRD.CardCode. |
Address | nVarChar(50) | Address name (the ID users pick). With CardCode and AdresType it identifies the row. |
AdresType | VarChar(1) | B = bill-to address, S = ship-to address. |
LineNum | Int(11) | Row number of the address inside the business partner. |
Street / StreetNo | nVarChar(100) | Street and street number. |
Block / Building | nVarChar(100) / Text | Block and building, floor or room. |
City | nVarChar(100) | City. |
ZipCode | nVarChar(20) | Postal code. |
County / State | nVarChar(100) / nVarChar(3) | County and state code. |
Country | nVarChar(3) | Country code. Joins to OCRY.Code. |
LicTradNum | nVarChar(32) | Tax ID kept on the address row. |
TaxCode | nVarChar(8) | Tax code of the address. Joins to OSTC.Code. |
GlblLocNum | nVarChar(50) | Global location number (GLN) of the address. |
Types as listed in the SAP Business One 10.0 SDK database tables reference: nVarChar(n) is text of up to n characters, Num(19,6) a decimal with 6 places. Column names are the same on SQL Server and SAP HANA.
How CRD1 relates to other tables
CRD1 is a child table of OCRD. One business partner can have many rows: several ship-to addresses and several bill-to addresses, all sharing CardCode. OCRD.BillToDef holds the Address name of the default bill-to row and OCRD.ShipToDef the default ship-to row. Documents copy the address text onto their own header when they are added, so a later change in CRD1 does not change old invoices.
Common joins
CRD1 T1 INNER JOIN OCRD T0 ON T0.CardCode = T1.CardCode (business partner)OCRD T0 LEFT JOIN CRD1 T1 ON T1.CardCode = T0.CardCode AND T1.AdresType = 'B' AND T1.Address = T0.BillToDef (default bill-to)OCRD T0 LEFT JOIN CRD1 T1 ON T1.CardCode = T0.CardCode AND T1.AdresType = 'S' AND T1.Address = T0.ShipToDef (default ship-to)CRD1 T1 LEFT JOIN OCRY T2 ON T2.Code = T1.Country (country name)
When you use the CRD1 table
Use CRD1 for customer and vendor address lists, mailing and delivery route exports, checks for partners with no bill-to or ship-to address, and data migration reviews where every address of a partner must be listed.
Example query: customers with their default bill-to address and country name
SQL Server
SELECT T0.CardCode, T0.CardName, T1.Address, T1.Street, T1.City, T1.ZipCode, T1.Country, T2.Name AS CountryName FROM OCRD T0 INNER JOIN CRD1 T1 ON T1.CardCode = T0.CardCode AND T1.AdresType = 'B' AND T1.Address = T0.BillToDef LEFT JOIN OCRY T2 ON T2.Code = T1.Country WHERE T0.CardType = 'C' ORDER BY T0.CardCode
SAP HANA (column names in double quotes)
SELECT T0."CardCode", T0."CardName", T1."Address", T1."Street", T1."City", T1."ZipCode", T1."Country", T2."Name" AS "CountryName" FROM OCRD T0 INNER JOIN CRD1 T1 ON T1."CardCode" = T0."CardCode" AND T1."AdresType" = 'B' AND T1."Address" = T0."BillToDef" LEFT JOIN OCRY T2 ON T2."Code" = T1."Country" WHERE T0."CardType" = 'C' ORDER BY T0."CardCode"
Paste either version in Tools → Queries → Query Generator. Need the other dialect for your own query? Use the SQL to HANA converter.
Common pitfall: Joining CRD1 on CardCode only
A partner with one bill-to and three ship-to addresses has four CRD1 rows, so a join on CardCode alone repeats the partner four times and multiplies any balance or total next to it. Always add AdresType, and add Address = OCRD.BillToDef or OCRD.ShipToDef when you want one row per partner. The same address name can exist once as B and once as S. See OCRD table (business partners).
Ready-made queries that use CRD1
- Business partners missing a tax ID: Active customers and vendors with no federal tax ID (VAT / RUC / NIT / NTN).
- Customer balances: All customers with a non-zero account balance, with credit limit and phone.
Building something on CRD1?
Reading CRD1 (Business Partner Addresses) in a query is the easy part. We build SAP Business One customer portals: customers see their prices, stock, order status, invoices and statements, and their orders land in SAP as sales orders. Or hire a remote SAP Business One developer for the whole job, fixed price per phase.
Questions about the CRD1 table
What is the CRD1 table in SAP B1?
CRD1 is the SAP Business One table for business partner addresses. Each row is one bill-to or ship-to address of a customer, vendor or lead and joins to OCRD on CardCode. AdresType separates the two kinds (B = bill-to, S = ship-to), and the Address column holds the address name that users pick on documents.
How do I join CRD1 to OCRD in SAP B1?
Join on CRD1.CardCode = OCRD.CardCode and filter CRD1.AdresType ('B' for bill-to, 'S' for ship-to). For one row per partner, also match CRD1.Address to OCRD.BillToDef or OCRD.ShipToDef.
What do B and S mean in CRD1.AdresType?
B is a bill-to (pay-to) address and S is a ship-to address. They are the only two values SAP lists for the column.
Where is the default address of a business partner stored?
OCRD.BillToDef and OCRD.ShipToDef hold the Address name of the default bill-to and ship-to rows in CRD1. The full street, city and country are read from CRD1.
Which columns identify a row in CRD1?
CardCode, Address and AdresType together. LineNum numbers the addresses inside one partner.
Related tables
OCRD (Business Partners) · OCPR (Contact Persons) · OCRY (Countries/Regions) · search all SAP Business One tables
Sources: SAP Business One documentation and SDK (DI API database tables reference), SAP Help Portal; SDK 10.0 table page for CRD1.
Ready to get started?
Tell us what you need. You get a clear technical answer, a fixed scope and a price, usually within 24 hours.
