Synchronization with SAP B1
Select a category below to see information about synchronization between SAP B1 and Tipalti.
Payment terms
Payment terms only exist in SAP B1 and are synced to Tipalti.
Payees
- Updated payees are synced from Tipalti and SAP B1.
- Created payees are synced from SAP B1 to Tipalti.
Custom fields
The following is a list of predefined records in SAP B1 that do not exist in Tipalti, but can be mapped as a custom field in Tipalti:
Record Type | Value | Screen id | mapping | custom field type | entity support type | code |
|---|---|---|---|---|---|---|
| Project (bil/ po line) | Description (project ID) | PM3010PL |
| List | Single entity | project ID |
| Subaccount (bil/ po line) | Subaccount + Description | GL203000 |
| List | Entitiless | Subaccount |
| Project Task (bil/ po line) | Description (project ID) | PM3020PL |
| List | Single entity | Task ID + Project Id |
| Vendor Class (payee) | Class ID + Description | AP2010PL | List | Entitiless | Class ID | |
| Post Period (bill) | Financial period ID (month-year) | GL201000 | Financial period ID | |||
| Ap account (payee) | Account + Description | GL202500 |
| List | Entitiless | Account |
| Cash discount account (payee) | Account + Description | GL202500 |
| List | Entitiless | Account |
| Cash discount subaccount (payee) | Subaccount + Description | GL203000 |
| List | Entitiless | Subaccount |
| AP subaccount (payee) | Subaccount + Description | GL203000 |
| List | Entitiless | Subaccount |
| Tax zone (payee/ bill/ po) | Tax zone ID + Description | TX2060PL | List | Entitiless | Tax zone ID |
You can also map SAP B1's user-defined fields with Tipalti custom fields.
Bills / Vendor credit
- In SAP B1, bills and vendor credits are the same object.
- Bill corresponds to a bill in Tipalti.
- Debit adjustment corresponds to a vendor credit in Tipalti. It can be:
- Applied against a bill (or multiple bills)
- Be used as a vendor refund (i.e., when the vendor is paying the payer)
- Bills in the following statuses are synced automatically from Tipalti to SAP B1 as "Open" bills:
- Pending payment
- Scheduled for payment
- Submitted for payment
- Paid
- Partially paid
- Paid manually
- Scheduled for payment with outstanding amount
- Partially paid with outstanding amount
- The status of the invoice in SAP B1 is updated to "Paid" once their payment is synced to SAP B1.
- Bill attachments (the bill image) are synced to Tipalti as a standalone record type.
Bills can be configured to sync before or after approval in SAP B1 wizard > sync preferences table.
-
- 0 bills are synced to SAP B1 as "Paid".
- Edit post approval is supported (according to the bill's settings).
- Retract approval is supported. Behavior is determined according to the timing of the following sync (after retraction):
Bill status during sync
Expected result in SAP B1
Bill not reapproved yet Bill is voided in SAP B1 (it will be re-created after it is approved again) Bill reapproved Only information that has changed will be synced to SAP B1 as an update -
- Bills in the following statuses are synced from Tipalti to SAP B1 as "Balanced" bills, before approval:
- Pending approval
- Pending AP action
- Pending payee invoice
- Pending payee approval
Payments
- Payment are synced from Tipalti to SAP B1.
- Payments made from Tipalti are synced as "Closed" status in SAP B1.
Payment statuses in SAP B1 are automatically updated when a payment is rejected, deferred, or canceled by the payee’s bank.
When a payment’s status is changed to rejected, deferred, or canceled in Tipalti, the integration will automatically void it in the ERP. The bill notes will indicate that the payment was reversed.
GL accounts
- GL and bank accounts sync from SAP B1 to Tipalti.
- In SAP B1, there are four types of accounts:
- Liability
- Assets
- Expense
- Income account class
Tax codes
- Tax codes are synced from Tipalti to SAP B1.
- Tax codes on bill (code and amount) are synced as part of the bill from Tipalti to SAP B1.
- POs are synced to Tipalti using a single tax code applied to the entire amount on the PO from SAP B1.
Purchase orders
- POs are synced from SAP B1 directly into Tipalti.
- 2-way PO matching - invoices are matched against synced POs in Tipalti, and sync matched invoices to SAP B1, allowing for seamless reconciliation between Tipalti and payers’ SAP B1 accounts.
- The PO status is synced from SAP B1 to Tipalti.
Purchase order status in SAP B1 | Purchase order status in TIPALTI |
|---|---|
| On hold | N/A |
| Pending Approval | N/A |
| Rejected | N/A |
| Pending Printing | N/A |
| Pending Email | N/A |
| Canceled | Closed |
| Open | Active |
| Completed | Active |
| Closed | Closed |
GRNs
- Only released GRNs are synced to Tipalti.
- The GRN status is synced from SAP B1 to Tipalti.
GRn status in SAP B1 | grn status in TIPALTI |
|---|---|
| On hold | N/A |
| Balanced | Active |
| Released | Active |
Fees
- Fees are translated into a bill and a payment in SAP B1.
- Fees are synced from Tipalti to SAP B1 every 24 hours.
Standard integration
Several fields are mapped automatically in the standard integration and are not available for custom mapping. Select a category below to see the mapped fields.
GL accounts
All GL accounts in SAP B1 that were added, updated, or archived since the last sync are collected and synced to Tipalti.
Mapped fields
Mapping table for Expense and AP accounts
SAP B1 | Tipalti |
|---|---|
| AccountCD | ExternalId number |
| AccountClass | N/A |
| AccountGroup | N/A |
| AccountID | N/A |
| Active | Active |
| CashAccount | N/A |
| ChartOfAccountsOrder | N/A |
| ConsolidationAccount | N/A |
| CreatedDateTime | N/A |
| CurrencyID | Currency |
| Description | Name/ Description |
| LastModifiedDateTime | N/A |
| PostOption | N/A |
| RequireUnits | N/A |
| RevaluationRateType | N/A |
| Secured | N/A |
| TaxCategory | N/A |
Type (ENUM)
| Type (ENUM) |
| UseDefaultSubaccount | N/A |
| https://tipalti.SAP B1.com/(W(2))/Main?CompanyID=Company&ScreenId=GL202500 | ExternalUrl |
| Whatever ID we generate | TipaltiId |
| ExternalPayerEntitiesIds | |
| TipaltiPayerEntitiesIds | |
| N/A | Category |
Mapping table for cash accounts
SAP B1 | Tipalti |
|---|---|
| CashAccount/ accountCD | ExternalId |
| CashAccount/ accountCD | Number |
| Active | Active |
| Currency | Currency |
| Description | Name/ Description |
| Bank | Type (ENUM) |
| https://tipalti.SAP B1.com/(W(5))/Main?CompanyID=Company&ScreenId=CA202000&CashAccountCD=56445+++++ | ExternalUrl |
| What Tipalti returns | TipaltiId |
| Branch | ExternalPayerEntitiesIds |
| What Tipalti returns | TipaltiPayerEntitiesIds |
| N/A | Category |
Payees
All payees that were updated since the last sync are collected and synced to SAP B1. Created payees are synced from SAP B1 to Tipalti.
Mapped fields
SAP B1 | Tipalti |
|---|---|
| AccountRef | N/A |
| GlAccountsAPAccount | Custom Field |
| GlAccountsAPSubaccount | Custom Field |
| GlAccountsCashDiscountAccount | Custom Field |
| GlAccountsCashDiscountSubaccount | Custom Field |
| CreatedDateTime | Custom Field |
| CurrencyID | PaymentCurrency |
| CurrencyRateType | N/A |
| EnableCurrencyOverride | N/A |
| EnableRateOverride | N/A |
| F1099Box | N/A |
| F1099Vendor | N/A |
| FATCA | N/A |
| FOBPoint | N/A |
| ForeignEntity | N/A |
| LandedCostVendor | N/A |
| LastModifiedDateTime | N/A |
| LeadTimedays | N/A |
| LocationName | N/A |
| MaxReceipt | N/A |
| MinReceipt | N/A |
| ParentAccount | N/A |
| PaymentBy | N/A |
| PaymentLeadTimedays | N/A |
| PaymentMethod | PaymentMethodId |
| PaySeparately | N/A |
| PrintOrders | N/A |
| ReceiptAction | N/A |
| ReceivingBranch | N/A |
| RemittanceAddressOverride | N/A |
| RemittanceContactOverride | N/A |
| SendOrdersbyEmail | N/A |
| ShippingContactOverride | N/A |
| ShippingAddressOverride | N/A |
| ShippingTerms | N/A |
| ShipVia | N/A |
Tipalti to SAP B1 status mapping:
| SAP B1 to Tipalti status mapping:
|
| TaxCalculationMode | N/A |
| TaxRegistrationID | N/A |
| TaxZone | N/A |
| Terms | PaymentTermId |
| ThresholdReceipt | N/A |
| VendorClass | Custom Field |
| VendorID | ExternalId |
| Whatever ID we generate | TipaltiId |
| URL of payee within Tipalti | TipaltiUrl |
| https://tipalti.SAP B1.com/(W(2))/Main?CompanyID=Company&ScreenId=AP303000&AcctCD=32242+++++ | ExternalUrl |
| ExternalPayerEntitiesIds | |
| TipaltiPayerEntitiesIds | |
| VendorIsLaborUnion | N/A |
| VendorIsTaxAgency | N/A |
| Account name (vendor name on the table) | If exists, Alias, otherwise, Legal name |
| Warehouse | N/A |
| LegalName | If exists, CompanyName, otherwise, <FirstName> <LastName> |
| Name | FirstName |
| Last name | LastName |
| NA | MiddleName |
| Address line 1 | Street1 |
| Address line 2 | Street2 |
| City | City |
| State | StateCode |
| Postal code | Zip |
| Country | N/A |
Phone
| |
| 'NoMapping' | PayeeEntityType |
| NA for SAP B1 > Tipalti | IsPayable |
| FALSE | IsAccountClosed |
| Phone Country | PhoneCountryCode |
| TaxInfoModel | |
| N/A | TaxFormEntityName |
| N/A | TaxFormEntityType |
| N/A | TaxFormType |
| N/A | TaxFormStatus |
| N/A | TaxFormTreatyCountry |
| N/A | Invite to supplier portal |
| GlAccountsAPAccount | Ap default account |
| VendorID - most left column | IDAP |
| VendorID - most left column | ExternalId |
PURCHASE SETTINGS | |
| Tax zone | Custom Field |
| CustomFieldsValues | |
Bills
All bills that were added, updated, or deleted since the last sync are collected and synced from Tipalti to SAP B1.
Mapped fields
SAP B1 | Tipalti |
|---|---|
HEADER | |
| Amount | Amount |
| ApprovedForPayment | N/A |
| Balance | AmountDue |
| BranchID | N/A |
| CashAccount | |
| CurrencyID | Currency |
| Date | BillDate |
| Take from tipalti | CreationDate |
| Description | Description |
| DueDate | DueDate |
| Hold | False |
| LocationID | Custom field |
| PostPeriod | Custom Fields |
| ReferenceNbr | ExternalId |
| Orig. ref. Nbr. | |
| Take from tipalti (bill ref code) | TipaltiId |
| Take from Tipalti | RefCode |
| Go to Tipalti screen | TipaltiUrl |
| https://tipalti.SAP B1.com/(W(2))/Main?CompanyID=Company&ScreenId=AP301000&DocType=INV&RefNbr=000003 | ExternalUrl |
| N/A | TipaltiAttachmentId |
| N/A | ExternalAttachmentId |
| ExternalPayerEntitiesIds | |
| BranchID | TipaltiPayerEntitiesIds |
| Status | Status |
| TaxTotal | |
| Terms | |
| Type | Bill or debit adjustment |
| Vendor | ExternalVendorId |
| Take from Tipalti | VendorId |
| VendorRef | BillNumber |
| Take from Tipalti | PayerId |
| Vendor (ID) - most left column | IDAP |
| LastModifiedDateTime | N/A |
Financial | |
| Ap account | ExternalApAccountId |
| Vendor tax zone | Custom Fields |
Bill line | |
| Account | ExternalGlAccountId |
| N/A | TipaltiGlAccountId |
| Amount | Amount |
| Branch | N/A |
| CalculateDiscountsOnImport | N/A |
| CostCode | N/A |
| Description | N/A |
| LineNbr | LineId |
| ExtendedCost | N/A |
| InventoryID | N/A |
| NonBillable | N/A |
| POLine | N/A |
| POOrderNbr | N/A |
| POOrderType | N/A |
| POReceiptLine | N/A |
| POReceiptNbr | N/A |
| Project | Custom Fields |
| ProjectTask | Custom Fields |
| Qty | Quantity |
| Subaccount | Custom Fields |
| TaxCategory | N/A |
| TransactionDescription | Description |
| UnitCost | UnitPrice |
| UOM | N/A |
| N/A | LineType |
| Inventory id | PoMatchingExternalItemId |
| Subitem | Custom Fields |
TAX DETAILS | |
| TaxableAmount | Amount |
| TaxAmount | TaxAmount |
| TaxID | ExternalTaxCodeId |
| N/A | TipaltiTaxCodeId |
| TaxRate | N/A |
| CustomFieldsValues | |
| PurchaseOrders | |
Purchase order
All Purchase orders that were updated since the last sync are collected and synced from Tipalti to SAP B1.
Mapped fields
TIPALTI | SAP B1 |
|---|---|
Header | |
| Date | Date |
| Number | OrderNbr |
| Currency | CurrencyID |
| Status (mapping provided above) | Status |
| ExternalId | OrderNbr |
| TipaltiId | |
| ExternalPayerEntitiesIds | The id of the entity (in SAP B1) |
| TipaltiPayerEntitiesIds | N/A |
| TipaltiVendorId | |
| Notes | N/A |
| IDAP | N/A |
| ExternalVendorId | VendorID |
| TipaltiUrl | N/A |
| ExternalUrl | https://tipalti.SAP B1.com/(W(5))/Main?CompanyID=Sales+Demo&ScreenId=PO301000 |
| ShouldPersist | ‘True’ |
| customFieldsValues | CustomFieldValues (Dimensions on the PO should be included) |
| LineItems | LineItems |
| Description | Line description |
| Custom Fields | Project |
| Custom Fields | Project task |
| Custom Fields | Subaccount |
| Quantity | Order qty. |
| ExternalGlAccountId | Account |
| TipaltiGlAccountId | N/A |
| TipaltiTaxCodeId | N/A |
| ExternalTaxCodeId | N/A |
| DiscountAmount | Discount amount |
| ExternalLineId | LineNbr |
| TaxAmount | N/A |
| Amount | ExtendedCost |
| UnitPrice | Unit cost |
| ExternalItemId | Inventory id |
| LineType | If inventory ID = NULL, expense otherwise item |
| Notes | N/A |
| UnitCode | FromUnit |
| UnitExternalId | FromUnit-ToUnit |
| BillLineMatches | |
| ExternalPoId | POOrderNbr |
| ExternalPoLineId | POLine |
| NA | POOrderType |
TAX DETAILS | |
| TaxableAmount | Amount |
| TaxAmount | TaxAmount |
| TaxID | ExternalTaxCodeId |
| N/A | TipaltiTaxCodeId |
| TaxRate | N/A |
VENDOR INFO | |
| Vendor tax zone | Custom Fields |
| customFieldsValues (Dimensions on the PO should be included) | |
GRNs
All GRNs that were released are synced from SAP B1 to Tipalti.
Mapped fields
TIPALTI | SAP B1 |
|---|---|
Header | |
| Tipalti ID | |
| External ID | ReceiptNbr |
| Notes | N/A |
| payeeID (VendorId) | VendorID |
| IDAP | N/A |
| PayerID | |
| PayerEntityID | Entity id |
| PurchaseOrderNumber | POOrderNbr |
| ReceiptDate | Date |
| ReceiptNumber | ReceiptNbr |
| Status (see mapping above) | Status |
| ShouldPersist | ‘True’ |
| Custom Fields | Posting period |
| TipaltiUrl | N/A |
| ExternalUrl | https://tipalti.SAP B1.com/(W(13))/Main?CompanyID=Sales+Demo&ScreenId=PO302000&ReceiptType=RT&ReceiptNbr=PR002322 |
Details | |
| ERP line ID | LineNbr |
| Tipalti line id | N/A |
| GRN ID (parent ID) | POReceiptNbr |
| Description | TransactionDescription |
| InvoiceNumber | N/A |
| ItemCode | InventoryID |
| Notes | N/A |
| PoLineId | POLineNbr |
| QuantityShipped | ReceiptQty |
| UnitCode | FromUnit |
| UnitExternalId | FromUnit-ToUnit |
Tax codes
Tax codes are synced to SAP B1.
Mapped fields
SAP B1 | TIPALTI |
|---|---|
| CalculateOn | N/A |
| CashDiscount | N/A |
| CreatedDateTime | N/A |
| DeductibleVAT | N/A |
| Description + (TAX ID) | Name |
| EnterFromTaxBill | N/A |
| ExcludeFromTaxonTaxCalculation | N/A |
| IncludeInVATExemptTotal | N/A |
| IncludeInVATTaxableTotal | N/A |
| LastModifiedDateTime | NA |
| NotValidAfter | N/A |
| PendingVAT | N/A |
| ReverseVAT | N/A |
| StatisticalVAT | N/A |
| TaxAgency | N/A |
| TaxClaimableAccount | N/A |
| TaxClaimableSubaccount | N/A |
| TaxExpenseAccount | N/A |
| TaxExpenseSubaccount | N/A |
| Tax ID | ExternalId |
| TaxPayableAccount | N/A |
| TaxPayableSubaccount | N/A |
| TaxType | N/A |
| TaxRate | Rate |
| N/A | TipaltiPayerEntitiesIds |
| N/A | ExternalPayerEntitiesIds |
| ‘TRUE’ | Active |
| Start date | N/A |
| Tax zone ID | N/A |
| Tax category | N/A |
| N/A | TipaltiId |
| https://tipalti.SAP B1.com/(W(4))/Main?CompanyID=Sales+Demo&ScreenId=TX205000&TaxID=CABCPST | ExternalUrl |
Payments
All payments in Tipalti that were added since the last sync are collected and synced to SAP B1.
Mapped fields
SAP B1 | TIPALTI |
|---|---|
| ApplicationDate | TransactionDate |
| ExternalAccountType | |
| CurrencyID | CurrencyCode |
| Description | |
| Hold | |
| PaymentAmount | AmountSubmitted |
| N/A | IsFinalized |
| Cross rate | ExchangeRate |
| PaymentMethod | |
| PaymentRef | RefCode |
| Zero Payment | RefCode |
| Non-zero Payment | SAP B1 ReferenceNbr |
| Whatever ID we generate | TipaltiId |
| Screen in Tipalti | TipaltiUrl |
| https://tipalti.SAP B1.com/(W(12))/Main?CompanyID=Sales+Demo&ScreenId=AP302000&DocType=CHK&RefNbr=002617 | ExternalUrl |
| ExternalPayerEntitiesIds | |
| TipaltiPayerEntitiesIds | |
| N/A | IsManuallyPaid |
If IsManuallyPaid = T, CashAccount = | ManualPaymentExternalAccountId |
| If IsManuallyPaid = F, CashAccount = | PaymentAccountId |
| Status | Status |
| Type | See algorithm |
| UnappliedBalance | |
| Vendor | VendorId |
| LastModifiedDateTime | |
| VendorCreditsFields | |
| Branch | InvoiceNumber |
| N/A | TipaltiId |
| ApplyInfos (within VendorCreditsFields) | |
| NA | TipaltiBillId |
| Amount paid | AppliedAmount |
| N/A | ExternalBillId |
| N/A | InvoiceNumber |
BillFields | |
| Branch | InvoiceNumber |
| N/A | TipaltiId |
| Reference nbr. | ExternalId |
| Amount paid | RealPaidAmount |
PayeeFeeDetails | |
| N/A | PayeeTxnFees |
| N/A | ExternalExpenseAccountId |
| N/A | ExternalVendorId |
| N/A | ExternalPaymentAccountId |
| CustomFields | |
Payment Terms
All payments terms that were added since the last sync are collected and synced to Tipalti.
Mapped fields
SAP B1 | TIPALTI |
|
|---|---|---|
| What the erp returns | ExternalId | |
| Terms ID + (Description) | Name (unique) | |
| Visible to | N/A | |
| Installment type | N/A | |
| Number of installments | N/A | |
| Whatever ID we generate | TipaltiId | |
| https://tipalti.SAP B1.com/(W(2))/Main?CompanyID=Company&ScreenId=CS206500&TermsID=4432423 | ExternalUrl | |
If ‘discount %’ > 0 then TRUE (discount % is the name of the field, there is only one such field name associated with the credit term screen ID) | IsWithDiscount | |
| paymentTermPeriod (ENUM) | ||
| due date 1 | Quantity | |
| Fixed number of days: due date 1= days | day | |
| N/A | week | |
| month | ||
| N/A | year | |
| 'Unmapped' | Unmapped | |