Table 8063 "Vendor Subscription Contract"
Subscription Billing · Microsoft.SubscriptionBilling
Across versions
- BC23-28not present
- BC29present
- BC30changed
Neighbourhood 36 connected objects and pages
Subscription Billing · Microsoft.SubscriptionBilling · BC29-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 8071 “Vendor Contracts” (5 Learn pages), Page 8070 “Vendor Contract” (2).
Properties
| Property | Value |
|---|---|
| Caption | Vendor Subscription Contract |
| DataClassification | CustomerContent |
| LookupPageId | Vendor Contracts |
| DrillDownPageId | Vendor Contracts |
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 |
|---|---|---|---|---|
| 2 | Buy-from Vendor No. | Code[20] | Specifies the number of the vendor who delivers the products. via Page 8070 “Vendor Contract” | TableRelation Table 23 “Vendor” |
| 3 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. via Page 8070 “Vendor Contract” | |
| 4 | Pay-to Vendor No. | Code[20] | — | TableRelation Table 23 “Vendor”; NotBlank |
| 5 | Pay-to Name | Text[100] | Specifies the name of the vendor sending the invoice. via Page 8070 “Vendor Contract” | TableRelation Vendor.Name; DataClassification EndUserIdentifiableInformation |
| 6 | Pay-to Name 2 | Text[50] | — | DataClassification EndUserIdentifiableInformation |
| 7 | Pay-to Address | Text[100] | Specifies the address of the vendor sending the invoice. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 8 | Pay-to Address 2 | Text[50] | Specifies additional address information. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 9 | Pay-to City | Text[30] | Specifies the city of the vendor on the purchase document. via Page 8070 “Vendor Contract” | TableRelation Table 225 “Post Code” (if (“Pay-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Pay-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Pay-to Country/Region Code”))); DataClassification EndUserIdentifiableInformation |
| 10 | Pay-to Contact | Text[100] | Specifies the name of the person to contact about an order from this vendor. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 11 | Your Reference | Text[35] | Specifies the vendor’s reference. via Page 8070 “Vendor Contract” | |
| 23 | Payment Terms Code | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. via Page 8070 “Vendor Contract” | TableRelation Table 3 “Payment Terms” (Payment Terms) |
| 29 | Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. via Page 8070 “Vendor Contract” | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false))) |
| 30 | Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. via Page 8070 “Vendor Contract” | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false))) |
| 32 | Currency Code | Code[10] | Specifies the currency of amounts on the Vendor Subscription Contract invoice. via Page 8070 “Vendor Contract” | TableRelation Table 4 “Currency” |
| 33 | DefaultExcludeFromPriceUpdate | Boolean | Specifies whether new contract lines will be set to be allowed in price updates by default, when they are assigned to the contract. via Page 8070 “Vendor Contract” | |
| 43 | Purchaser Code | Code[20] | Specifies which purchaser is assigned to the Vendor Subscription Contract. via Page 8070 “Vendor Contract” | TableRelation Table 13 “Salesperson/Purchaser” (Salesperson/Purchaser) |
| 79 | Buy-from Vendor Name | Text[100] | Specifies the name of the vendor who delivers the products. via Page 8070 “Vendor Contract” | TableRelation Vendor.Name; DataClassification EndUserIdentifiableInformation |
| 80 | Buy-from Vendor Name 2 | Text[50] | — | DataClassification EndUserIdentifiableInformation |
| 81 | Buy-from Address | Text[100] | Specifies the vendor’s buy-from address. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 82 | Buy-from Address 2 | Text[50] | Specifies an additional part of the vendor’s buy-from address. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 83 | Buy-from City | Text[30] | Specifies the city of the vendor on the purchase document. via Page 8070 “Vendor Contract” | TableRelation Table 225 “Post Code” (if (“Buy-from Country/Region Code” = const(‘’)) “Post Code”.City else if (“Buy-from Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Buy-from Country/Region Code”))); DataClassification EndUserIdentifiableInformation |
| 84 | Buy-from Contact | Text[100] | Specifies the name of the person to contact about an order from this vendor. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 85 | Pay-to Post Code | Code[20] | Specifies the postal code. via Page 8070 “Vendor Contract” | TableRelation Table 225 “Post Code” (if (“Pay-to Country/Region Code” = const(‘’)) “Post Code” else if (“Pay-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Pay-to Country/Region Code”))); DataClassification EndUserIdentifiableInformation |
| 86 | Pay-to County | Text[30] | Specifies the state, province or county of the address. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 87 | Pay-to Country/Region Code | Code[10] | Specifies the country/region code of the vendor on the purchase document. via Page 8070 “Vendor Contract” | TableRelation Table 9 “Country/Region” (Country/Region); DataClassification EndUserIdentifiableInformation |
| 88 | Buy-from Post Code | Code[20] | Specifies the postal code. via Page 8070 “Vendor Contract” | TableRelation Table 225 “Post Code” (if (“Buy-from Country/Region Code” = const(‘’)) “Post Code” else if (“Buy-from Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Buy-from Country/Region Code”))); DataClassification EndUserIdentifiableInformation |
| 89 | Buy-from County | Text[30] | Specifies the state, province or county of the address. via Page 8070 “Vendor Contract” | DataClassification EndUserIdentifiableInformation |
| 90 | Buy-from Country/Region Code | Code[10] | Specifies the country or region of the address. via Page 8070 “Vendor Contract” | TableRelation Table 9 “Country/Region” (Country/Region); DataClassification EndUserIdentifiableInformation |
| 104 | Payment Method Code | Code[10] | Specifies how to make payment, such as with bank transfer, cash, or check. via Page 8070 “Vendor Contract” | TableRelation Table 289 “Payment Method” (Payment Method) |
| 107 | No. Series | Code[20] | — | TableRelation No. Series; not editable |
| 200 | Description | Blob | — | |
| 201 | Description Preview | Text[100] | — | |
| 480 | Dimension Set ID | Integer | — | TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable |
| 5052 | Buy-from Contact No. | Code[20] | Specifies the number of contact person of the vendor’s buy-from. via Page 8070 “Vendor Contract” | TableRelation Table 5050 “Contact” |
| 5053 | Pay-to Contact No. | Code[20] | Specifies the number of contact person of the vendor’s buy-from. via Page 8070 “Vendor Contract” | TableRelation Table 5050 “Contact” |
| 8050 | Create Contract Deferrals | Boolean | Specifies whether to generate contract deferrals for the contract in general. The field affects only Subscription lines assigned to the contract for which the field “Create Contract Deferrals” is set to Contract-dependent. via Page 8070 “Vendor Contract” | |
| 8051 | Without Contract Deferrals | Boolean | Specifies whether deferrals should be generated for the contract. If the field is activated, no deferrals are generated and the invoices are posted directly to profit or loss. via Page 8070 “Vendor Contract” | obsolete Pending 27.0; #if not CLEANSCHEMA30 |
| 8053 | Billing Rhythm Filter | DateFormula | — | FlowFilter |
| 9000 | Assigned User ID | Code[50] | Specifies the ID of the user who is responsible for the document. via Page 8070 “Vendor Contract” | TableRelation Table 91 “User Setup” (User Setup); DataClassification EndUserIdentifiableInformation |
| 9500 | Active | Boolean | Specifies whether the contract is active. via Page 8070 “Vendor Contract” | |
| 9501 | Contract Type | Code[10] | Specifies the classification of the contract. via Page 8070 “Vendor Contract” | TableRelation Table 8053 “Subscription Contract Type” (Subscription Contract Type) |
Keys
- PK: No. (clustered)
Events published
OnValidateBuyFromVendorNoAfterInit(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; var xVendorSubscriptionContract: Record "Vendor Subscription Contract")(integration)OnAfterGetSubscriptionContractSetup(VendorSubscriptionContract: Record "Vendor Subscription Contract"; var SubscriptionContractSetup: Record "Subscription Contract Setup"; CalledByFieldNo: Integer)(integration)OnInitFromContactOnBeforeInitRecord(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; var xVendorSubscriptionContract: Record "Vendor Subscription Contract")(integration)OnBeforeHasBuyFromAddress(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; var Result: Boolean; var IsHandled: Boolean)(integration)OnAfterCopyBuyFromVendorFieldsFromVendor(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; Vendor: Record Vendor; xVendorSubscriptionContract: Record "Vendor Subscription Contract")(integration)OnAfterCopyPayToVendorAddressFieldsFromVendor(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; PayToVendor: Record Vendor)(integration)OnAfterUpdateBuyFromCont(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; Vendor: Record Vendor; Contact: Record Contact)(integration)OnAfterCopyBuyFromVendorAddressFieldsFromVendor(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; BuyFromVendor: Record Vendor)(integration)OnBeforeHasPayToAddress(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; var Result: Boolean; var IsHandled: Boolean)(integration)OnAfterUpdatePayToCont(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; Vendor: Record Vendor; Contact: Record Contact)(integration)OnAfterUpdatePayToVend(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; Contact: Record Contact)(integration)OnBeforeContactIsNotRelatedToVendorError(Contact: Record Contact; ContactNo: Code[20]; var IsHandled: Boolean)(integration)OnAfterUpdateBuyFromVend(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; Contact: Record Contact)(integration)OnBeforeInitInsert(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; var xVendorSubscriptionContract: Record "Vendor Subscription Contract"; var IsHandled: Boolean)(integration)OnBeforeAssistEdit(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; OldVendorSubscriptionContract: Record "Vendor Subscription Contract"; var IsHandled: Boolean)(integration)OnAfterValidateShortcutDimCode(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; xVendorSubscriptionContract: Record "Vendor Subscription Contract"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnBeforeCreateDim(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; var IsHandled: Boolean)(integration)OnCreateDimOnBeforeModify(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; xVendorSubscriptionContract: Record "Vendor Subscription Contract"; CurrentFieldNo: Integer)(integration)OnBeforeValidateShortcutDimCode(var VendorSubscriptionContract: Record "Vendor Subscription Contract"; xVendorSubscriptionContract: Record "Vendor Subscription Contract"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnAfterCreateDimDimSource(VendorSubscriptionContract: Record "Vendor Subscription Contract"; CurrFieldNo: Integer; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])(integration)OnAfterIsPayToAddressEqualToBuyFromAddress(VendorContractWithBuyFrom: Record "Vendor Subscription Contract"; VendorContractWithPayTo: Record "Vendor Subscription Contract"; var Result: Boolean)(integration)
Procedures
AssistEdit(OldVendContract: Record "Vendor Subscription Contract"): Boolean(internal)ShowDocDim()(internal)NotReleasedVendorContractDeferralsExists(): Boolean(internal)LookupBuyfromVendorName(): Boolean(internal)SetDescription(NewDescription: Text)(internal)GetDescription(): Text(internal)OnAfterValidateBuyFromVendorNo(var VendorContract: Record "Vendor Subscription Contract"; var xVendorContract: Record "Vendor Subscription Contract")(internal)SetBuyFromVendorFromFilter()(internal)CopyBuyFromVendorFilter()(internal)GetModifyVendorAddressNotificationId(): Guid(internal)GetModifyPayToVendorAddressNotificationId(): Guid(internal)DontNotifyCurrentUserAgain(NotificationID: Guid)(internal)BuyFromAddressEqualsPayToAddress(): Boolean(internal)CreateVendorContractLinesFromServiceCommitments(var ServiceCommitment: Record "Subscription Line" temporary)(internal)UpdateServicesDates()(internal)CreateVendorContractLineFromServiceCommitment(ServiceCommitment: Record "Subscription Line")CreateVendorContractLineFromServiceCommitment(var ServiceCommitment: Record "Subscription Line"; ContractNo: Code[20]; var VendorContractLine: Record "Vend. Sub. Contract Line")UpdateAndRecalculateServiceCommitmentCurrencyData()(internal)ResetVendorServiceCommitmentCurrencyFromLCY()(internal)SetHideValidationDialog(NewHideValidationDialog: Boolean)UpdateDimensionsInDeferrals()(internal)CreateBillingProposal()(internal)
Plus 43 local procedures.
Triggers
OnInsert, OnRename, OnDelete
Relations
- drill-down page Page 8071 “Vendor Contracts”
- lookup page Page 8071 “Vendor Contracts”
- Purchaser Code: TableRelation Table 13 “Salesperson/Purchaser”
- Buy-from City: TableRelation Table 225 “Post Code” (conditional)
- Buy-from Post Code: TableRelation Table 225 “Post Code” (conditional)
- Pay-to City: TableRelation Table 225 “Post Code” (conditional)
- Pay-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Buy-from Vendor No.: TableRelation Table 23 “Vendor”
- Pay-to Vendor No.: TableRelation Table 23 “Vendor”
- Payment Method Code: TableRelation Table 289 “Payment Method”
- Payment Terms Code: TableRelation Table 3 “Payment Terms”
- Shortcut Dimension 1 Code: TableRelation Table 349 “Dimension Value”
- Shortcut Dimension 2 Code: TableRelation Table 349 “Dimension Value”
- Currency Code: TableRelation Table 4 “Currency”
- Dimension Set ID: TableRelation Table 480 “Dimension Set Entry”
- Buy-from Contact No.: TableRelation Table 5050 “Contact”
- Pay-to Contact No.: TableRelation Table 5050 “Contact”
- Contract Type: TableRelation Table 8053 “Subscription Contract Type”
- Buy-from Country/Region Code: TableRelation Table 9 “Country/Region”
- Pay-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Assigned User ID: TableRelation Table 91 “User Setup”
Referenced by
15 fields in 15 objects relate to this table (TableRelation or CalcFormula).
- Table 8001 “Sub. Contract Renewal Line”: Subscription Contract No.
- Table 8002 “Planned Subscription Line”: Subscription Contract No.
- Table 8006 “Usage Data Billing”: Subscription Contract No.
- Table 8007 “Overdue Subscription Line”: Subscription Contract No.
- Table 8009 “Imported Subscription Line”: Subscription Contract No.
- Table 8019 “Sub. Contr. Analysis Entry”: Subscription Contract No.
- Table 8059 “Subscription Line”: Subscription Contract No.
- Table 8061 “Billing Line”: Subscription Contract No.
- Table 8065 “Vend. Sub. Contract Line”: Subscription Contract No.
- Table 8072 “Vend. Sub. Contract Deferral”: Subscription Contract No.
- Table 8073 “Subscription Line Archive”: Subscription Contract No.
- Table extension 8002 “Vendor”: Vendor Contracts
- Table extension 8060 “Purch. Inv. Line”: Subscription Contract No.
- Table extension 8064 “Purch Cr. Memo Line”: Subscription Contract No.
- Table extension 8067 “G/L Entry”: Subscription Contract No.
Pages and codeunits on this table
- Page 8023 “Vendor Contracts API” (source table)
- Page 8070 “Vendor Contract” (source table)
- Page 8071 “Vendor Contracts” (source table)
Recent changes
- 2026-09-30 #12053 Remove-Sustainability-CLEAN27-tags-for-Wave2-2026 (main, BC30, obsoletion)
- 2026-07-14 #8115 Subscription Billing: respect Default Dimension Priorities on Subscription Lines (main, BC30, fix)
Deprecations
- field Without Contract Deferrals: Pending 27.0 (#if not CLEANSCHEMA30), “Removed in favor of Create Contract Deferrals.”
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). 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: "Vendor Subscription Contract"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.