jQuery to Auto-Fill Fields with HTML Buttons

Have you ever noticed when placing an order on certain sites you can enter your shipping address and then have the option to check a box that says “my billing address is the same as shipping”? Then, like magic, the shipping address fields auto-fill? It’s a cool little efficiency isn’t it? Why type something twice when it’s identical? (Taken for granted a lot but cool non-the-less). Have you ever wondered how to do that?

Today’s post will be a slight detour back to Intacct but in a broader sense. While the example is Intacct-specific to something I needed (mostly wanted because it’s cool) for an app I’m building, the use-case is not and applies to any site where you can add html and jQuery.

So how do you do it?

Continue reading

Intacct: Platform Services Formula Fields

2016-03-27_12-49-34

Did you know you can write formula fields in Intacct Platform Services?

I was struggling with getting a date to populate on a sales order being created from a platform object because the date created field on the Sales Order had to be in <month></month> <day> </day> <year> </year> format. I couldn’t figure out how to write it into the API code which was creating the Sales Order so I decided to go the custom formula field route!

The Solution:

Step 1: The user enters the Sales Order Date of: 03/27/2016

Step 2: The hidden custom fields (month, day, year) populate as follows:

Month: 03

Day: 27

Year: 2016

Step 3: These fields are then popped right into the API that creates the Sales Order and bam! Date field filled out!

Here is the formulas I used in creating the formula fields in Intacct (I couldn’t find it anywhere until I realized it’s just JavaScript). Just in case you don’t know these functions (or couldn’t remember from the last time you took a class in college- like me):

Year: “{!CLA_CM_patient_claim.CLA_CM_ar_inv_date#userformat!}”.substr(-4);

This formula takes the date “03/27/2016” and gives me just the last 4 digits.

Day: “{!CLA_CM_patient_claim.CLA_CM_ar_inv_date#userformat!}”.slice(3,5);

Month: “{!CLA_CM_patient_claim.CLA_CM_ar_inv_date#userformat!}”.slice(0,2);

2016-03-27_12-48-38

Once I found these formulas it all came back to me! This is the basic premise of the slice formula:

  • You instruct the formula what you’ll be slicing (Intacct field) “03/27/2016” (that’s what’s in quotations)
  • Then the slice has two numbers in parenthesis:
    • The first number tells me where to start the slicing. This is ALWAYS the slot right before the first digit you want. So for Day, I want it to start in the 3rd slot “03/”. For the Month I want it to start before the first digit so I put 0.
    • The second number in the formula tells me what is the position of the last digit I want? For Day, this was the 5th digit “03/27” (7 is the 5th digit – technically including the “/”. For the month, it’s just the second digit “03” (3 is technically the second digit).

Easy right? The only thing to remember is the first number (starting position) is always the digit before the first digit you want to return (starting with 0) and the second digit is the position of the last digit to return.

I hope this helps someone! Have fun playing with some formula fields – and if anyone else if working on cool platform applications reach out to me! I love hearing the cool applications people come up with and we can geek out together on it.

P.S Anyone else agree it would be awesome if formula fields were not just on custom platform objects but throughout the system?! I could think of a lot of uses for them!

 

Intacct: Customization Documents & Custom Invoices

Invoice requirements vary from one company to another. While a standard invoice may work well for most companies, often times your customer’s invoice requirements dictate your invoice format (especially if your customer is a government body or simply your largest customer). And, well, if you like having a positive number in your bank account, it’s highly unlikely you’re going to argue with your clients. So you are faced with two options: spend your time editing a document outside of your system (and let your coffee get cold in the process) or let your accounting software customize invoices for you! That becomes possible in Intacct with Custom Documents.

This post will be an introduction to customizing your Invoices citing one of the more popular requests I have come across: displaying a “Paid” stamp on a paid invoice.

The Problem: When printing an invoice, no payment stamp displays at the top of a paid invoice. Four simple letters you would think would be so simple to add! Yet, they are not there.

The Solution: Custom Documents using Merge Fields and IF statements.

First, where are custom documents managed?

Customization (or Platform) Services > Custom Documents

Custom Documents

That brings you to the following list screen – so now what?

Custom Documents List Screen

Continue reading

Intacct: Smart Events – API Calls

What is a Smart Event API call? A call that phones Intacct to send you free pizza? Sadly, no, it’s not a real phone call that orders you pizza – I wish! )Accounting would be a heck of a lot more fun!) An API call talks to Intacct and has it update fields within a transaction/record. (Not as fun as pizza, but stay with me.) It’s like a Smart Rule but instead of resulting in a warning or error (or in the case of a Smart Event Email, an email) it results in an action that takes place in Intacct. Powerful, right?!

The Situation: 

We are tracking Orders in the Project Dimension. The problem: With hundreds of orders a month, the amount of projects could get out of control. (We need to track this piece of information in Projects in order to be able to run a profit and loss by order (project). Holding this data in a reference number field will not allow for running a P&L by orders). How do you manage that crazy drop down list of projects? Do you really want to have someone deactivate fulfilled orders one by one? Probably not. Do you want to search through the list every time you receive a new order? Not ideally, no. Why not automate the process? Let Intacct take care of inactivating orders that have been delivered for you.

Continue reading

Intacct: Financial Reports – Expanding Columns, Report Groups, & Scheduling

Expanded ReportFinancial Reports are only as relevant as their timeliness. The longer a report takes to build, the less relevant the information in it becomes.

The purpose of building financial reports is to gain insight into your company allowing you to make decisions in a timely manner – keeping you ahead of the game and not trying to catch up from behind. The problem is that sometimes reports become complex creatures and start to take on a life form of their own taking a long time to create. It’s very likely that one day you were on a report-building roll and created a report masterpiece for someone. Next thing you know, they want this report every month (and likely they want you to add more to it). That’s time consuming and probably not possible every month.

Think of the amount of work you put into creating a financial report as the input in the Law of Diminishing Returns: While at first, the more time you put in increases the benefits you see from the report, eventually you start to see diminishing returns because as the report takes longer to create, the data becomes stale and renders the report not as relevant.

Intacct not only gives you the power to create effective reports that guide business decisions, but most importantly makes creating reports in a timely manner easy. How does Intacct make report creation easy? Well let’s get to it! We’ve already reviewed the Financial Report Wizard, now this post will cover the second variable to successful financial reporting: timeliness. Intacct has built in to the system key features that make report creation in a timely, efficient manner attainable so let’s get started with two of them: Expanding Reports and Report Groups. Continue reading

Intacct: Smart Rules

Now that basic Smart Rules are a breeze, someone is bound to ask about a more complicated situation. So let’s test some Smart Rule limits.

What if you have a situation where you need a Smart Rule to do one thing on a certain action, but another on a different set of actions? Is that even possible? Well let me tell you, that it is! Here’s a cool case that came up recently.

The Question:

Can a Smart Rule be created which required the Document field to be filled out during Journal Entry only for a certain account (ex: account 1110)?

The Problem:

If it was a dimensional field requirement, that could be easily managed in the Chart of Accounts in the General Ledger, but since Document Number is not a dimension that won’t work. To require dimensions for certain fields that can be found here:

test2

What we’re going for here sounds like an “IF” Excel type of function, right? (If the Account No is 1110, then require the Document Number, if the Account No is anything else, then do nothing. If it was Excel you’d just write: =IF(A1=1110,”required”,”not required”)). Unlike a Smart Event, a Smart Rule isn’t a two step validation. Intacct gives you one box to write the condition under which the Smart Event will fire. So how exactly do you write a conditional Smart Rule? Well now that we know that’s what we’re looking for, let’s get on to writing the condition.

Continue reading

Intacct: Dimension Structures

Screen Shot 2015-03-25 at 1.27.32 PM

Remember when I promised we would set up Dimension Structures (groups) in the Intacct: Financial Report Writer post last time? (I know you do, because it’s only been a week! But just in case you need a refresher it’s linked above.) Dimension Structures are what made that last report magically work. If you tried to re-create that report, you probably got to the dimension step and realized something was missing …  these guys:

Screen Shot 2015-03-30 at 12.44.46 PM

So let’s drop some Dimension Structure configuration knowledge, shall we?

A Brief Overview – What are Dimensions and Dimension Structures?

Dimensions allow you to independently tag transactions (AR invoices, AP invoices, etc) and records (customers, vendors, etc). Based on Dimensions you have set up, you can create Dimension Groups/Structures. When setting up a dimension group you define the rule (based on a tag) identifying which members are included. (Dimension Structures, which this post covers, are different than Dimensions).

When would we use Dimension Structures?

Say for example the CFO asks you to build a report that shows last month’s revenue for all customers in Washington. The Dimension, or tag, here would be the Customer’s Billing State (WA). The Dimension Group would include anyone who is tagged with Washington. You could manipulate some reports exported to Excel using vlookups and filters OR you could create a dimension group which includes Washington customers only, and create a custom financial report. Sounds easy, right? So let’s set up the dimension group!

Continue reading