Skip to main content

Accounting Transaction Workflow Tasks

Accounting transaction tasks are used to create, update, and delete Invoices, Bills, and Credit Memos.

Create Accounting transaction

task: "AccountingTransaction/Create@1"
name: createAccountingTransaction
inputs:
values:
organizationId: "{{ organizationId }}"
accountId: "{{ accountId }}"
accountingTransactionStatus: "{{ accountingTransactionStatus }}"
accountingTransactionType: "{{ accountingTransactionType }}"
amountDue: "{{ amountDue }}"
amountPaid: "{{ amountPaid }}"
applyToContactID: "{{ applyToContactID }}"
billToContactAddressId: "{{ billToContactAddressId }}"
divisionId: "{{ divisionId }}"
dueDate: "{{ dueDate }}"
note: "{{ note }}"
paidAs: "{{ paidAs }}"
paidDate: "{{ paidDate }}"
paymentTermsId: "{{ paymentTermsId }}"
transactionDate: "{{ transactionDate }}"
transactionNumber: "{{ transactionNumber }}"
outputs:
- name: accountingTransaction
mapping: "accountingTransaction"

Get Accounting transaction

task: "AccountingTransaction/Get@1"
name: getAccountingTransaction
inputs:
accountingTransactionId: "123"

outputs:
- name: accountingTransaction
mapping: "accountingTransaction"

Update Accounting transaction

task: "AccountingTransaction/Update@1"
name: updateAccountingTransaction
inputs:
accountingTransactionId: "123"
values:
accountId: "{{ accountId }}"
accountingTransactionStatus: "{{ accountingTransactionStatus }}"
accountingTransactionType: "{{ accountingTransactionType }}"
amountDue: "{{ amountDue }}"
amountPaid: "{{ amountPaid }}"
applyToContactID: "{{ applyToContactID }}"
billToContactAddressId: "{{ billToContactAddressId }}"
divisionId: "{{ divisionId }}"
dueDate: "{{ dueDate }}"
note: "{{ note }}"
paidAs: "{{ paidAs }}"
paidDate: "{{ paidDate }}"
paymentTermsId: "{{ paymentTermsId }}"
transactionDate: "{{ transactionDate }}"
transactionNumber: "{{ transactionNumber }}"

Delete Accounting transaction

task: "AccountingTransaction/Delete@1"
name: deleteAccountingTransaction
inputs:
accountingTransactionId: "123"

Generate Invoice

Generate Invoice task is used to generate invoice for a customer. It can be used to generate invoice for a job or order.

Inputs:

  • accountId - Accounting Account id - optional
  • includePending - Include pending changes - optional
  • customerId - Customer Contact id - required
  • orderId - Order id - required of job id is not provided
  • jobId - Job Id - required if order id is not provided
  • notes - Notes - optional
  • appendToExistingInvoice - Append to existing not paid invoice
task: "AccountingTransaction/GenerateInvoice@1"
name: generateInvoice
inputs:
accountId: "123" # Accounting Account id - optional
includePending: "true" # Include pending changes - optional
customerId: "123" # Customer Contact id - required
orderId: "123" # Order id - required of job id is not provided
jobId: "123" # Job Id - required if order id is not provided
notes: "notes" # Notes - optional
appendToExistingInvoice: "true" # Append to existing not paid invoice
outputs:
- name: invoice # Invoice object
mapping: "result.invoice"
- name: isSuccess
mapping: "result.isSuccess"

Example Accounting transaction Workflow

workflow:
name: "Accounting transaction / Create AccountingTransaction Example Workflow"
description: "Create Accounting transaction Example Workflow"
version: "1.0"
executionMode: "Sync"

inputs:
- name: "organizationId"
type: "Organization"
displayName: "Organization id"
description: "Organization id"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.organizationId"
- name: "accountId"
type: "AccountingAccount"
displayName: "Account id"
description: "Account id"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.accountId"
- name: "accountingTransactionStatus"
type: "AccountingTransactionStatus"
displayName: "Accounting transaction status"
description: "Accounting transaction status"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.accountingTransactionStatus"
- name: "accountingTransactionType"
type: "AccountingTransactionType"
displayName: "Accounting transaction type"
description: "Accounting transaction type"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.accountingTransactionType"
- name: "amountDue"
type: "number"
displayName: "Amount due"
description: "Amount due"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.amountDue"
- name: "amountPaid"
type: "number"
displayName: "Amount paid"
description: "Amount paid"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.amountPaid"
- name: "applyToContactID"
type: "Contact"
displayName: "Apply to contact ID"
description: "Apply to contact ID"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.applyToContactID"
- name: "billToContactAddressId"
type: "ContactAddress"
displayName: "Bill to contact address id"
description: "Bill to contact address id"
multiple: false
required: false
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.billToContactAddressId"
- name: "divisionId"
type: "Division"
displayName: "Division id"
description: "Division id"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.divisionId"
- name: "dueDate"
type: "Date"
displayName: "Due date"
description: "Due date"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.dueDate"
- name: "note"
type: "string"
displayName: "Note"
description: "Note"
multiple: false
required: false
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.note"
- name: "paidAs"
type: "PaidAs"
displayName: "Paid as"
description: "Paid as"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.paidAs"
- name: "paidDate"
type: "Date"
displayName: "Paid date"
description: "Paid date"
multiple: false
required: false
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.paidDate"
- name: "paymentTermsId"
type: "PaymentTerm"
displayName: "Payment terms id"
description: "Payment terms id"
multiple: false
required: false
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.paymentTermsId"
- name: "transactionDate"
type: "Date"
displayName: "Transaction date"
description: "Transaction date"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.transactionDate"
- name: "transactionNumber"
type: "string"
displayName: "Transaction number"
description: "Transaction number"
multiple: false
required: true
defaultValue: ""
additionalProperties:
visible: true
mapping: "accountingTransaction.transactionNumber"

outputs:
- name: accountingTransaction
mapping: "createAccountingTransactionActivity.createAccountingTransaction.accountingTransaction"

activities:
- name: "createAccountingTransactionActivity"
description: "Create Accounting transaction"
steps:
- task: "AccountingTransaction/Create@1"
name: createAccountingTransaction
inputs:
accountingTransaction:
organizationId: "{{ organizationId }}"
accountId: "{{ accountId }}"
accountingTransactionStatus: "{{ accountingTransactionStatus }}"
accountingTransactionType: "{{ accountingTransactionType }}"
amountDue: "{{ amountDue }}"
amountPaid: "{{ amountPaid }}"
applyToContactID: "{{ applyToContactID }}"
billToContactAddressId: "{{ billToContactAddressId }}"
divisionId: "{{ divisionId }}"
dueDate: "{{ dueDate }}"
note: "{{ note }}"
paidAs: "{{ paidAs }}"
paidDate: "{{ paidDate }}"
paymentTermsId: "{{ paymentTermsId }}"
transactionDate: "{{ transactionDate }}"
transactionNumber: "{{ transactionNumber }}"
outputs:
- name: accountingTransaction
mapping: "accountingTransaction"
- name: "getAccountingTransactionActivity"
description: "Get AccountingTransaction"
steps:
- task: "AccountingTransaction/Get@1"
name: getAccountingTransaction
inputs:
accountingTransactionId: "{{ createAccountingTransactionActivity.createAccountingTransaction.accountingTransaction.accountingTransactionId }}"
outputs:
- name: accountingTransactionFromGet
mapping: "accountingTransaction"
- name: "updateAccountingTransactionActivity"
description: "Update AccountingTransaction"
steps:
- task: "AccountingTransaction/Update@1"
name: updateAccountingTransaction
inputs:
organizationId: "{{ getAccountingTransactionActivity.getAccountingTransaction.accountingTransaction.organizationId }}"
accountingTransactionId: "{{ getAccountingTransactionActivity.getAccountingTransaction.accountingTransaction.accountingTransactionId }}"
accountingTransaction:
accountId: "{{ accountId }}"
accountingTransactionStatus: "{{ accountingTransactionStatus }}"
accountingTransactionType: "{{ accountingTransactionType }}"
amountDue: "{{ amountDue }}"
amountPaid: "{{ amountPaid }}"
applyToContactID: "{{ applyToContactID }}"
billToContactAddressId: "{{ billToContactAddressId }}"
divisionId: "{{ divisionId }}"
dueDate: "{{ dueDate }}"
note: "{{ note }}"
paidAs: "{{ paidAs }}"
paidDate: "{{ paidDate }}"
paymentTermsId: "{{ paymentTermsId }}"
transactionDate: "{{ transactionDate }}"
transactionNumber: "{{ transactionNumber }}"
- name: "deleteAccountingTransactionActivity"
description: "Delete AccountingTransaction"
steps:
- task: "AccountingTransaction/Delete@1"
name: deleteAccountingTransaction
inputs:
organizationId: "{{ getAccountingTransactionActivity.getAccountingTransaction.accountingTransaction.organizationId }}"
accountingTransactionId: "{{ getAccountingTransactionActivity.getAccountingTransaction.accountingTransaction.accountingTransactionId }}"

Apply Credit

Apply a credit memo or credit balance to one or more invoices.

task: "AccountingTransaction/ApplyCredit@1"
name: applyCredit
inputs:
creditTransactionId: "{{ creditMemoId }}"
invoiceIds:
- "{{ invoiceId1 }}"
- "{{ invoiceId2 }}"
amount: "{{ creditAmount }}"
outputs:
- name: result
mapping: "result"

Inputs

ParameterTypeRequiredDescription
creditTransactionIdintYesID of the credit memo or credit transaction to apply
invoiceIdsarrayYesList of invoice IDs to apply the credit to
amountdecimalNoSpecific amount to apply. If omitted, applies the full credit balance

Outputs

OutputDescription
resultResult of the credit application