Presentation is loading. Please wait.

Presentation is loading. Please wait.

Printing checks in 2009Dynamic AX

Similar presentations

Presentation on theme: "Printing checks in 2009Dynamic AX"— Presentation transcript:

1 Printing checks in 2009Dynamic AX
Yossi Paz June 2010

2 Agenda Methods of printing checks Customizing a checks layout
Paying by checks process

3 Methods for printing checks
Blank (self generated) Pre printed Pros: Easier for use- generates check numbers, easy voiding Flexible for multi bank accounts (no need to change paper) Check doesn’t exist until printing Cheaper for maintenance (?) Pros: Special graphics Security measures: watermarks, UV, graphics, etc. No need for additional H/W or S/W No need for design efforts Cons: Hard to maintain multi check accounts Requires special care of check numbers Offsetting text for every check layout Costs / efforts working with check issuer (bank or printing house Cons: Graphics less sophisticated Less “hard” securities against frauds Special printer/ink cartridge

4 Printing self generated checks
Blank (self generated) AX only 3rd party Requires layout design Using build-in features (logo, MICR line) Special H/W is required No design, only output file 3rd party Vendor responsible for both H/W and S/W

5 Checks feature in a nut shell
Setup Define check layout per bank account Check number method Method of payment Manage View checks Create checks Delete checks Pay Create payment Generate payment Void checks

6 Setup check layout Bank > Common Forms > Bank Accounts Details > Setup > Check layout Use this form to set up the layout of checks for the bank account that you selected in the Bank accounts form.

7 Check number method Select the method to use for generating check numbers: Fixed – Use this method when you have pre-printed checks. Before you can use checks for payment, it is necessary to create them by clicking Functions > Create checks in the Bank accounts form. Free – Use this method when you do not have pre-printed checks. Microsoft Dynamics AX automatically proposes check numbers when you use checks for payment.

8 Managing checks Select bank account Go to checks Create checks

9 Pay using check In payment line: Functions > Generate payments.
Select the correct method of payment for checks. Select the correct bank account in the Bank account field. Click Dialog. the first check number are automatically filled in.

10 Customizing checks to Israeli layouts
Fundamental changes The basic customizations need to be done once regardless of the number of layouts Per-layout changes The customizations required for each check layout

11 Customize check: Fundamentals
Add layouts names to Check form dropdown Numbers to words algorithm (optional) Add custom fields (such as withholding tax) to the report temp table

12 Fundamentals: Check form drop down
Goal: add the check form to the list: How: Add the form name to ChequeFormType Base Enum for each bank

13 Fundamentals: additional data fields
Goal: add further information (such as describing the goods or WHT info): How: Add additional data fields to the Check data source Temp Table TmpChequePrintout

14 Fundamentals: number to Hebrew words
Goal: Print check amount in words in Hebrew. How: Add a method numeralsToTxt_IL() to class Global This is optional. Suggested method’s code (open source) can be found in mAXimum ERP site at: Note: The code is published as-is without any tests. You are invite to improve and contribute to the AX community in Israel You are encouraged to discuss and share ideas in our discussions forum at Linkedin

15 Customize check: per layout elements
My check form Custom Position/Size of text Custom data elements Report layout design Custom language

16 Customize check: per layout elements
\CustVendCheque\slipTxtLines: Case <my layout> Custom Position/Size of text \CustVendCheque\FillSlipTxt: Case <my layout> Fill in additional data elements \CustVendCheque\Output Case <my layout> tmpChequePrintout.Numerals2letter:=numeralsToTxt_IL(amount) Print amount in Hebrew

17 Customize check: per layout elements
\BankChequePrint\PrintDocument Case <my layout> Call the layout corresponding report And, additionally- how to visually test your design Class BankPrintTestCheque Print a testing output

18 Thank you


20 Set up a method of payment for checks
Click Accounts payable > Setup > Payment > Methods of payment. On the Overview tab, press CTRL+N to create a new line. Enter an appropriate identifier, such as Check, in the Method of payment field. Enter other information, as needed, for the method of payment. Click the File formats tab. In the Export format field, select Check.


22 Customization BankPrintTestCheque Class CustVendCheque Class
BankChequePrint Class New report for check layout New Output Menu item

23 Customization BankPrintTestCheque – Used for the test printout of the check. Methods createTestCheque() and printCheque() should be modified createTestCheque() setting the check layout and New fields values case ChequeFormType::ILStyle : chequeDocMm = 65.02; break; if (bankChequeLayout.ChequeFormType == ChequeFormType::ILStyle) { tmpChequePrintout.SlipTop1 = 6500; slipTextAreaMm = areaAboveCheque ; } TmpChequePrintout.IL_WithholdBaseAmount = ; TmpChequePrintout.IL_WithholdTax = ; if (bankChequeLayout.AmountPrefix) tmpChequePrintout.AmountTxt = strfmt('%1%2',bankChequeLayout.AmountPrefix, tmpChequePrintout.AmountCur); else tmpChequePrintout.AmountTxt = strfmt('%1',tmpChequePrintout.AmountCur); tmpChequePrintout.SlipTxt = strfmt('%1 %2 %3 %4 %5 %6\n', slipLineMax -= 4;

24 Customization printCheque() calling the Cheque_IL report to be printed. case ChequeFormType::ILStyle : new MenuFunction(menuitemoutputstr(Cheque_IL),MenuItemType::Output).run(args); break;

25 Customization CustVendCheque - Used for the setting the data for printout of the check. Methods outPut(), slipTxtLines() and fillSlipTxt() should be modified outPut() case ChequeFormType::ILStyle : tmpChequePrintout.IL_AccountNum = vendTable.AccountNum; tmpChequePrintout.Numerals2Letter = amountCur != 0 ? numeralsToTxt_EN(amountCur) : ''; if (bankChequeLayout.AmountPrefix) { tmpChequePrintout.AmountTxt = strfmt('%1%2',bankChequeLayout.AmountPrefix, amountCur); } else tmpChequePrintout.AmountTxt = strfmt('%1', amountCur); break; slipTxtLines() : chequeDocMm = 65.02; if (_bankChequeLayout.ChequeFormType == ChequeFormType::ILStyle) slipTop1 = 6500; slipTextAreaMm = areaAboveCheque ;

26 Customization fillSlipTxt(): AmountCur withholdTax;
AmountCur withholdBaseAmount; AmountCur totalWithholdBaseAmount; TaxWithholdTrans taxWithholdTrans; TaxWithholdCode taxWithholdCode; case ChequeFormType::ILStyle : chequeSlipTxt = ""; while select taxWithholdTrans where taxWithholdTrans.SpecTransId == specTrans.RecId { totalWithholdBaseAmount += taxWithholdTrans.PaymWithholdBaseAmount; withholdTax += taxWithholdTrans.PaymTaxWithholdAmount; taxWithholdCode = taxWithholdTrans.TaxWithholdCode; } withholdBaseAmount = 0; withholdBaseAmount += taxWithholdTrans.PaymWithholdBaseAmount; chequeSlipTxt += strfmt('%1 %2' + strrep(' ',40) +' %3 %4\r\n', strLRTrim(_ledgerJournalTrans.CurrencyCode), strLRTrim(num2str(withholdBaseAmount, 16, 2, -1, -1)), strLFix(vendTrans.Invoice,15), _ledgerJournalTrans.Txt); if (!totalPrinted && totalLines == lines && _chequeFormType == ChequeFormType::ILStyle) tmpChequePrintout.IL_WithholdBaseAmount = totalWithholdBaseAmount; tmpChequePrintout.IL_WithholdTax = withholdTax; tmpChequePrintout.IL_TaxWithholdCode = taxWithholdCode;

27 Customization Class BankChequePrint printDocument()
case ChequeFormType::ILStyle : this.runReport(menuitemoutputstr(Cheque_IL)); break; New report and Output menu should be created

Download ppt "Printing checks in 2009Dynamic AX"

Similar presentations

Ads by Google