Integraatiot / ERP / QuickBooks Online
QuickBooks Online -integraatio-opas tuotannonsuunnitteluun SkyPlanner APS:llä
Tämä QuickBooks Online -integraatio-opas kertoo ProAdvisor-asiantuntijoille, konsulteille ja IT-tiimeille, miten QuickBooks Online yhdistetään SkyPlanner APS:ään. SkyPlannerin ja QuickBooks Onlinen integraatio toimii molempiin suuntiin Intuitin Accounting API -rajapinnan kautta:
- SkyPlanneriin tuodaan asiakkaat, nimikkeet varastosaldoineen, hyväksytyt tarjoukset, avoimet ostotilaukset ja työntekijät.
- Suunniteltu valmistumispäivä siirretään takaisin kunkin tarjouksen lähetyspäiväksi.
- Valmistuneet tilaukset siirretään takaisin tarjouksiin linkitettyinä laskuina, kirjatut tunnit työaikakirjauksina ja varastomuutokset varastokorjauksina.
- QuickBooksin webhookit ilmoittavat muutoksista SkyPlanneriin, ja SkyPlannerin webhookit välittävät aikataulumuutokset heti niiden tapahtuessa.
QuickBooks Online on kirjanpito-ohjelmisto, joten siinä ei ole koneita, reitityksiä eikä tuotantotilauksia. Työpisteitä, työvaiheita, työvuoroja ja asetusaikoja ylläpidetään SkyPlannerissa. SkyPlannerin tiimi määrittää integraation QuickBooks-yritykseesi käyttöönoton aikana ja tukee sitä myös tuotantokäytön alettua. Tämä opas on kumppaneille ja kehittäjille, jotka haluavat osallistua toteutukseen tai rakentaa itse ratkaisuja SkyPlannerin dokumentoidun REST API -rajapinnan avulla (API-viite).
QuickBooks Onlinen Accounting API
QuickBooks Online on moniasiakasympäristössä toimiva pilvituote, jossa kaikki yritykset käyttävät samaa Accounting API -rajapintaa. Se on REST API, versioltaan v3. Jokainen kutsu kohdistetaan yhteen yritykseen sen realm ID -tunnuksella: https://quickbooks.api.intuit.com/v3/company/{realmId}/{entity}. Testausta varten on erillinen sandbox-palvelin. Pyynnöt ja vastaukset ovat JSON-muodossa, ja skeeman versio valitaan minorversion-parametrilla. (lähde)
Tuotannonsuunnittelussa tarvittavat tietokohteet:
- Perustiedot:
Customer,Item(Inventory, NonInventory, Service),Employee,Vendor. - Kysyntä:
Estimate(TxnStatus Accepted, rivit,ShipDate) sekä ensin laskuttaville yrityksilleInvoicetaiSalesReceipt. - Hankinnat:
PurchaseOrder(POStatus Open, rivit nimikkeineen ja määrineen),Bill. - Takaisin kirjoitettavat tiedot:
Estimate,Invoice,TimeActivity,InventoryAdjustment.
Tiedot luetaan query-päätepisteen kautta, esimerkiksi kyselyllä select * from Estimate where MetaData.LastUpdatedTime > '2026-10-01'. Päivitykset voivat olla osittaisia, joten SkyPlanner lähettää vain muuttamansa kentät. Accounting API -rajapinnassa ei ole myyntitilauksen, reitityksen, työpisteen eikä tuotantotilauksen tietokohdetta.
Tunnistautuminen ja rajoitukset
Accounting API käyttää OAuth 2.0:n authorization code -menettelyä ja com.intuit.quickbooks.accounting-käyttöoikeusaluetta. QuickBooks-pääkäyttäjä kirjautuu kerran ja hyväksyy käyttöoikeuden. Sovellus saa tämän jälkeen lyhytikäisen pääsytunnisteen, joka lähetetään muodossa Authorization: Bearer, sekä uusimistunnisteen, joka vaihtuu jokaisen uusimisen yhteydessä. (lähde)
Intuit rajoittaa kutsujen määrää yrityskohtaisesti minuutissa ja sekunnissa. Jos sovellus ylittää rajan, vastauksena on HTTP 429. Intuitin App Partner Program mittaa myös joidenkin API-kutsujen kuukausittaista määrää kumppanitason mukaan. Molemmat on kuvattu Intuitin käyttörajoituksia käsittelevällä sivulla. Webhookien, muutosten haun ja osittaisten päivitysten ansiosta tuotannonsuunnittelun integraatio pysyy selvästi rajojen sisällä.
SkyPlannerin REST API käyttää tunnistautumiseen API-tunnistetta Authorization-Token-otsakkeessa (SkyPlanner Settings > API). Rajapinta on dokumentoitu Swagger/OpenAPI-muodossa. Integraation ohje opastaa ensimmäisten kutsujen tekemisessä.
Webhookit ja muutosten haku
QuickBooksin webhookit ilmoittavat sovellukselle, kun yhdistetyn yrityksen tiedot muuttuvat. “Webhooks automatically notify you whenever data changes in your end-user’s QuickBooks Online company files.” (Webhookit ilmoittavat automaattisesti, kun loppukäyttäjän QuickBooks Online -yritystiedot muuttuvat.) (lähde) Tuotannonsuunnittelun kannalta olennaiset tietokohteet:
Customer,Item,EmployeeEstimate,Invoice,SalesReceiptPurchaseOrder,BillTimeActivity
Toimintoja ovat Create, Update, Delete, Merge ja Void. Ilmoitus sisältää tietokohteen nimen, ID-tunnuksen, toiminnon ja viimeisimmän päivitysajan, mutta ei koko tietuetta. Vastaanottaja lukee tietueen tämän jälkeen.
Muutosten haku (GET /cdc?entities=...&changedSince=...) palauttaa kaikki annetun aikaleiman jälkeen muuttuneet tiedot rajatulta, viimeaikaiselta tarkastelujaksolta. SkyPlanner käyttää sitä öiseen täsmäytykseen, joten saapumatta jäänyt webhook-ilmoitus ei koskaan jätä tilauksen tietoja vanhentuneiksi. TimeActivity ei kuulu muutosten haun piiriin, joten sen tiedot täsmäytetään kyselyllä. (lähde)
Tietojen vastaavuudet
| QuickBooks Onlinen tietokohde | SkyPlanner-objekti | Suunta | Siirtotiheys |
|---|---|---|---|
Customer | Asiakas (external_identifier, delivery_priority) | QuickBooks → SkyPlanner | Alkutuonti, sen jälkeen webhook-ilmoituksesta |
Item (Inventory, NonInventory, Service) ja QtyOnHand | Tuotteet ja materiaalit, varastosaldot | QuickBooks → SkyPlanner | Alkutuonti, sen jälkeen webhook-ilmoituksesta |
Estimate (Accepted), rivit, ShipDate | Tilaus (external_order_number, delivery_date), rivikohtaiset työt | QuickBooks → SkyPlanner | Reaaliaikaisesti webhookin kautta |
Invoice tai SalesReceipt (ensin laskuttavat yritykset) | Tilaus ja työt | QuickBooks → SkyPlanner | Reaaliaikaisesti webhookin kautta |
PurchaseOrder (Open), rivit | Saapuva materiaali (tuotteiden ostotilaukset) | QuickBooks → SkyPlanner | Reaaliaikaisesti webhookin kautta |
Employee | Henkilöstö | QuickBooks → SkyPlanner | Alkutuonti, sen jälkeen webhook-ilmoituksesta |
Estimate.ShipDate (osittainen päivitys) | Suunniteltu valmistumisaika | SkyPlanner → QuickBooks | Aikataulun muuttuessa |
Invoice, jonka LinkedTxn viittaa Estimate-tietueeseen | Valmistunut tilaus | SkyPlanner → QuickBooks | Tilauksen valmistuessa |
TimeActivity (EmployeeRef, CustomerRef, ItemRef, tunnit) | Mobile Confirmations, työaikakirjaukset | SkyPlanner → QuickBooks | Työtä kirjattaessa |
InventoryAdjustment | Valmiiden tuotteiden varastoonotto, käytetyt materiaalit | SkyPlanner → QuickBooks | Tilauksen valmistuessa |
| Ei QuickBooksissa | Työpisteet, työvaiheet, työvuorot, poissaolot, asetusaikamatriisi, työkalut, työntekijämäärät, vaihtoehtoiset työpisteet | Ylläpidetään SkyPlannerissa | Määritetään käyttöönoton aikana |
Integraation toteutustavat
1. Perustietojen alkutuonti. Hae asiakkaat, nimikkeet, työntekijät ja avoimet ostotilaukset sivutettuina query-päätepisteen kautta. Luo SkyPlanneriin asiakkaat käyttämällä QuickBooks-tunnusta external_identifier-kentässä sekä tuotteet ja materiaalit käyttämällä nimiketunnusta avaimena. Luo sitten tiedot, joita QuickBooksissa ei ole: työpisteet, tuotekohtaiset työvaiheet, työvuorot, vapaat ja asetusajat. Työvaiheet saa tuotua nopeimmin CSV- tai Excel-tiedostosta.
2. Tilausten synkronointi. Tilaa Estimate-, Invoice-, Item- ja PurchaseOrder-webhookit. Kun tarjouksen tilaksi vaihtuu Accepted, SkyPlanner lukee sen ja luo tilauksen. Tarjouksen numero tallennetaan external_order_number-kenttään ja lähetyspäivä delivery_date-kenttään. Jokaisesta rivistä muodostetaan työt tuotteen työvaiheiden mukaisesti. Avoimien ostotilausten rivit tuodaan saapuvaksi materiaaliksi, joten työt odottavat toimitusta. Öinen muutosten haku poimii kaikki väliin jääneet tapahtumat.
3. Aikataulu- ja valmistumistietojen siirto takaisin. Tulokset viedään QuickBooksiin neljällä kutsulla:
Estimate-tietueen osittaisella päivityksellä päivitetäänShipDate-kenttä, joten QuickBooksissa luvattu päivämäärä pysyy suunnitelman mukaisena.- Kun tilaus valmistuu, POST
/invoiceluo laskun tarjouksen riveistä ja lisääLinkedTxn-viittauksen tarjoukseen. Intuit sallii yhden laskulinkityksen tarjousta kohden, joten osatoimitusten käsittelystä sovitaan määrittelyssä. - POST
/timeactivitytallentaa kunkin työntekijän kirjaamat tunnit työntekijälle, asiakkaalle ja palvelunimikkeelle. Laskutettavat tunnit voidaan tämän jälkeen lisätä laskulle QuickBooksissa. - POST
/inventoryadjustmentkasvattaa valmiiden tuotteiden varastosaldoja ja vähentää käytettyjen materiaalien saldoja. Intuit tarjoaa tämän tietokohteen Yhdysvalloissa QuickBooks Online Plus- ja Advanced-versioissa. (lähde)
4. Tuotannon kirjaukset. Työntekijät kirjaavat työt SkyPlanner Mobile Confirmations-, Production Timer- tai Quick Log Mode -toiminnolla. Työn eteneminen päivittää aikataulun heti, ja Autopilot suunnittelee loput uudelleen. Tunnit siirtyvät QuickBooksiin työaikakirjauksina. Jos yritys käyttää edelleen QuickBooks Timea palkanlaskentaan, valitse määrittelyssä yksi kanava töiden tuntikirjauksille.
5. Tietojen omistajuus ja ristiriitojen käsittely. Kirjaa säännöt ennen tuotantokäytön aloittamista:
| Tiedot | Omistaja |
|---|---|
| Asiakkaat, nimikkeet, hinnat, tarjoukset, ostotilaukset, laskut, kirjanpito | QuickBooks Online |
| Työpisteet, työvaiheet, työvuorot, poissaolot, asetusaikamatriisi, työkalut, vaihtoehtoiset resurssit | SkyPlanner |
| Töiden järjestys, alkamis- ja päättymisajat, kunkin työn työpiste | SkyPlanner |
| Tarjouksen lähetyspäivä | SkyPlanner, tallennetaan QuickBooksiin |
| Valmistuneiden tilausten laskut, työtunnit ja valmiiden tuotteiden varastokorjaukset | SkyPlanner luo, QuickBooks vastaa tiedoista kirjauksen jälkeen |
Projektin tyypilliset vaiheet
Toteutus valmistuu yleensä muutamassa viikossa käyttöönoton aloittamisesta. Sitä ennen voit käyttää 30 päivän maksutonta kokeilua omilla tiedoillasi: QuickBooksista viedyillä asiakkailla, tuotteilla ja avoimilla tarjouksilla.
Varsinainen projekti sisältää seuraavat vaiheet:
- Yhteyden muodostaminen. QuickBooksin pääkäyttäjä hyväksyy SkyPlannerin Intuitin OAuth 2.0 -näkymässä.
- Tuotannon käynnistävä tietue. Sovitaan, käynnistyykö tuotanto hyväksytyistä tarjouksista, laskuista vai myyntikuiteista.
- Tietojen vastaavuudet. Vahvistetaan vastaavuustaulukko, nimikeavaimet, työtä varten käytettävät palvelunimikkeet ja tietojen omistajuutta koskevat säännöt.
- Ensimmäinen tiedonsiirto. Asiakkaat, nimikkeet, työntekijät ja avoimet ostotilaukset.
- Tuotantomalli. SkyPlanneriin määritellään työpisteet, tuotekohtaiset työvaiheet, työvuorot, asetusaikamatriisi, työkalut ja työntekijämäärät.
- Tapahtumien synkronointi. Tarjousten, nimikkeiden ja ostotilausten webhook-ilmoitukset sekä öinen muutostietojen haku.
- Tietojen kirjoittaminen takaisin. Ensin lähetyspäivä, sitten laskut, tuntikirjaukset ja varastokorjaukset.
- Rinnakkaistestaus ja tuotantokäyttöön siirtyminen. Vertaa SkyPlannerin päivämääriä nykyiseen suunnitelmaan ja pyydä kirjanpitäjää tarkistamaan ensimmäiset laskut ja varastokorjaukset. Ota sen jälkeen tietojen kirjoittaminen takaisin käyttöön.
Mitä QuickBooks Online -integraatiossa on huomioitava
- Myyntitilaukset pysyvät QuickBooksin näkymissä. Plus- ja Advanced-versioissa myyntitilaukset ovat sovelluksessa, mutta integraatio lukee hyväksytyt tarjoukset tai ennakkoon laskuttavissa yrityksissä laskut. Sopikaa yksi käynnistävä tapahtuma, jotta jokainen tilaus tulee tuotantoon samalla tavalla.
- QuickBooksissa ei ole reitityksiä. Ylläpidä tuotekohtaiset työvaiheet SkyPlannerissa ja yhdistä ne QuickBooksin nimikkeisiin.
- Yhteen tarjoukseen voi linkittää yhden laskun. Osatoimituksille tarvitaan sääntö, esimerkiksi yksi tarjous toimitusta kohti.
- Varastokorjausten tuki riippuu versiosta ja alueesta. Yhdysvaltojen Plus- ja Advanced-versiot tukevat niitä. Muualla sovi kirjanpitäjän kanssa, miten valmiit tuotteet kirjataan QuickBooksiin.
- Intuit Enterprise Suite -tuotantotilaukset. Jos käytät niitä, päättäkää, kumpi järjestelmä vastaa valmistuksesta ja komponenttivarauksista.
- Tuotepaketteja voi vain lukea API:n kautta. Ryhmänimikkeitä ei voi luoda API:n kautta, joten ylläpidä tuotepaketit QuickBooksissa.
- Refresh token -tunnisteen vaihtuminen. Tallenna uusin refresh token jokaisen uusimisen jälkeen, tai yhteys katkeaa.
Kuka määrittää QuickBooks Online -integraation ja vastaa sen tuesta
Työssä käydään läpi nimikkeet, tarjoukset, ostotilaukset ja se, miten valmistuneet työt siirtyvät laskutukseen. Lisäksi määritellään tiedot, joita QuickBooksissa ei ole: työpisteet, työvaiheet, työvuorot, asetusaikamatriisi, työkalut, työntekijämäärät ja vaihtoehtoiset resurssit.
- SkyPlannerin tiimi määrittää integraation käyttöönoton aikana ja tukee sitä tuotantokäytön alettua. Jokainen yritys määrittelee nimikkeet, tarjoukset ja varaston QuickBooksissa omalla tavallaan. Tämä osaaminen hyödynnetään integraation määrityksissä.
- QuickBooks ProAdvisor -asiantuntijasi tai integraatiokumppanisi voi rakentaa integraation. SkyPlanner tarjoaa REST API:n, Swagger/OpenAPI-dokumentaation ja webhookit.
- Omat kehittäjäsi voivat toteuttaa integraation API-tunnisteen avulla. Alkuun pääsee pelkällä API-tunnisteella, ja SkyPlannerin tiimi auttaa tarvittaessa. Tuotedokumentaatio, mukaan lukien ostotilaukset sekä tuotteiden ja materiaalien API, löytyy SkyPlannerin dokumentaatiosta.
SkyPlannerin hinta on alkaen 199 € kuukaudessa kuukausilaskutuksella, ja siihen sisältyy 5 työpistettä. Integraatiosta tehdään prosessisi ja tarpeidesi mukainen tarjous etukäteen yhdessä palvelupaketin kanssa, joten tiedät kokonaiskustannukset ennen aloittamista. Tutustu hinnoitteluun ja ominaisuuksiin sekä QuickBooksin omiin mahdollisuuksiin artikkelissa Onko QuickBooksissa tuotannonsuunnittelua? Yleiskatsauksen löydät QuickBooks Online -sivulta ja muut järjestelmät kaikkien integraatioiden sivulta.
Valmistavan teollisuuden kokemuksia SkyPlannerista
2 hsäästöä joka viikko
”SkyPlanner on vienyt tuotannonsuunnittelumme Excel-taulukoista reaaliaikaiseen tuotannon optimointiin.”
Kalle Kalliomäki, toimitusketjuasiantuntija
UTU · Sähkökeskukset ja kytkinlaitteet
Tuotannonsuunnittelussa säästyy 2 tuntia työaikaa viikossa, ja uusi työjono saadaan tuotantolinjalle sekunneissa.
+90%tuotannon tehokkuuteen
”Tuotannon tehokkuus on noussut 90 %.”
Abdul Rucyinga, IT-johtaja
Laboratory & Allied · Lääkkeiden valmistus
Tuotannon tehokkuus on noussut 90 %, ja kaikki työpisteet kattava optimoitu suunnitelma kolmeksi kuukaudeksi syntyy alle 30 minuutissa.
100%toimitusvarmuus vuodesta 2021
”SkyPlanner antaa meille näkyvyyden kapasiteettiin ja tekee suunnittelusta ennakoitavaa.”
Dan Berglund, COO/CFO
Opes Corporation · Kemikaalien ja elintarvikkeiden valmistus
Toimitusvarmuus on ollut 100 % koko SkyPlannerin käyttöajan, vuodesta 2021 lähtien.
1 000:ittainautomaattisesti suunniteltuja työmääräimiä
”Tuotanto on aivan eri tavalla hallinnassa, ja ymmärryksemme kapasiteetista on täysin uudella tasolla.”
Hannu Ryynänen, toimitusjohtaja
Mamec · Teollisuussekoittimet, pumput ja korkean teknologian sopimusvalmistus
Tuhansien työmääräinten aikataulut suunnitellaan automaattisesti, ja koko organisaatiolla on reaaliaikainen näkymä tuotantoon.
Usein kysyttyä
Onko QuickBooks Onlinessa API tuotantotiedoille?
QuickBooks Onlinessa on Accounting API, joka on OAuth 2.0 -todennusta käyttävä REST API. Se kattaa asiakkaat, nimikkeet, tarjoukset, laskut, ostotilaukset, tuntikirjaukset ja varastokorjaukset. Tuotantotiedot, kuten työpisteet ja työvaiheet, ovat SkyPlannerissa.
Voiko SkyPlanner kirjoittaa tietoja takaisin QuickBooks Onlineen?
Kyllä. SkyPlanner tallentaa suunnitellun lähetyspäivän kullekin tarjoukselle ja luo tarjoukseen linkitetyn laskun tilauksen valmistuttua. Se siirtää kirjatut tunnit tuntikirjauksiksi ja kirjaa valmiit tuotteet sekä käytetyt materiaalit varastokorjauksina Yhdysvaltojen Plus- ja Advanced-versioissa.
Lähettääkö QuickBooks Online muutokset reaaliajassa?
Kyllä. QuickBooksin webhookit kattavat asiakkaat, nimikkeet, tarjoukset, laskut, ostotilaukset ja tuntikirjaukset. SkyPlanner lukee jokaisen muuttuneen tietueen ja täsmäyttää tiedot öisin muutostietojen haulla.
Mistä reititykset ja koneet saadaan, jos niitä ei ole QuickBooksissa?
SkyPlannerista. Määrität työpisteet, tuotekohtaiset työvaiheet, työvuorot ja asetusajat kerran joko käsin tai CSV- tai Excel-tuonnilla. Jokainen työvaihe linkitetään QuickBooksin nimikkeeseen, joten uusien tarjousten tuotantoaikataulut suunnitellaan automaattisesti.
Voimmeko testata SkyPlanneria ennen integraation rakentamista?
Kyllä. 30 päivän maksuttomassa kokeilussa voit käyttää enintään 20 työpistettä ja tuoda tiedot QuickBooksista CSV- tai Excel-tiedostona. Luottokorttia ei tarvita. Aloita kokeilu tai ota yhteyttä myyntiin integraation määrittelyä varten.