Minimum Version Required: 22.01
Pre-Conditions
You must have Pay Bills permission to run this routine
Companies should be properly configured in the system
The import action is fixed to "Update or Add"
Accounts Payable should be enabled in Encompass
Steps
The PurchaseByAccounts EDBL routine allows importing purchase transactions with direct GL account assignments. This routine creates shipments, purchases, and corresponding journal entries in a single import.
The import process:
Validates all required data (PostDate, AccountID, etc.)
Creates any missing vendors if specified by VendorID_Translation
Creates shipments for each unique combination of ShipmentNum, ReceiveDate, and LocationID
Creates purchase records linked to these shipments
Creates or updates journal entry transactions for accounting purposes
Updates purchase statuses to the imported status level
The system will first attempt to match existing shipments and purchases by shipment number, invoice number, PO number, vendor, and date. When no matches are found, new records will be created.
Vendors specified by VendorID_Translation that don't exist in the system will be automatically created with minimal information. It's recommended to set up vendors before running this import.
All imported shipments will have ShipmentType = Imported_Accounts and will be tagged with the EDBLSourceID and ImportGroupID for future reference.
Fields And Definitions
Required Fields:
PostDate - Date when the purchase will be posted to the GL
AccountID - GL account to which the purchase will be charged (or AccountID_Translation)
VendorID - Vendor providing the purchase (or VendorID_Translation)
CompanyID - Company for the transaction (defaults to user's company if not specified)
Key Fields:
ImportGroupID - Groups imports together (defaults to "1" if not specified)
InvoiceNum - Invoice number for the purchase
PONum - PO number for the purchase
ShipmentNum - Identifier for the shipment
ReceiveDate - Date when goods were received
LocationID - Location receiving the goods (defaults to user's location)
Debit/Credit - Amount values for the transaction
ShipmentStatus - Status of the shipment (defaults to Confirmed)
PurchaseMemo - Notes for the purchase
Optional Fields:
InvoiceDate - Date of the invoice
DueDate - Date when payment is due
JournalEntryTransMemo - Description for journal entries
FinancialDimensionID_XXXX - Financial dimension assignments
CustomField fields - Additional custom field values
Best Practices
Always include PostDate, AccountID, and VendorID or their Translation fields
Use unique ShipmentNum, InvoiceNum, and PONum values to avoid duplicates
Group related records with the same ImportGroupID value
Set up vendors before running the import when possible
Ensure the PostDate is after the company's Purchase Close Date
If using AccountID_Translation, make sure the account mappings exist
Set ShipmentStatus to match your workflow needs
If importing multiple currencies, ensure exchange rates are properly configured
Confirm financial dimensions exist in the system before referencing them
The lowest acceptable ShipmentStatus value is "Received" - lower status values will cause import failure
When using this import to create purchase records, the system will create appropriate journal entries to maintain General Ledger balance. The purchase records will be created with transaction type "Accounts" to distinguish them from inventory purchases.
This import can be used for one-time purchases, service purchases, and any non-inventory purchases that need to be directly recorded to GL accounts.