```function taxes(datain) { var data = [];...
# suitetalkapi
c
Copy code
function taxes(datain) {
        var data = [];
        var searchFilters = [
            ["country","anyof","US","CA","PR"],
            "AND",
            ["isinactive","is","F"]
        ];
        var searchObj = search.create({
            type: 'taxgroup',
            filters: searchFilters,
            columns: [
                search.createColumn({
                    name: 'itemid',
                    sort: search.Sort.ASC
                }),
                'city',
                'county',
                'state',
                'country',
                'rate',
            ]
        });
        var searchRes = searchObj.runPaged();
        searchRes.pageRanges.forEach(function(pageRange) {
            var myPage = searchRes.fetch({index: pageRange.index});
            myPage.data.forEach(function (result) {
                // these are fairly straight forward
                var state = result.getValue({name: 'state'});
                var rate = result.getValue({name: 'rate'});
                var country = result.getValue({name: 'country'});
                var county = result.getValue({name: 'county'});
                county = county.replace(' CO', '');
                rate = rate.replace('%', '');

                // the city is a CSV city-name_zip,city2-name_zip
                var city_string = result.getValue({name: 'city'});
                var cities = city_string.split(',');
                cities.forEach(function(cityzip) {
                    var bits = cityzip.split('_',2);
                    data.push({
                        city: bits[0],
                        county: county,
                        state: state,
                        zip: bits[1],
                        country: country,
                        rate: rate,
                    });
                });
                return true;
            });
        });

        return {error: false, count: data.length, data: data};
    }