Comando que retorna a Ultima sessão fiscal do SAT.

Caso contenha na resposta o arquivo XML (codificado em base64) da venda ou do cancelamento, automaticamente será gerado o arquivo xml na pasta onde estão configurados os arquivos XML de vendas SAT do ACBrMonitor.
Gravando XML Venda recebido: Arqs\SAT\Vendas\27101611000182\202304\41230427101611000182599000198240001005645826.xml


Exemplo de resposta:


OK: 203335|06000|1601|Código de regime tributário é incompatível com o grupo de ICMSSN00|||PENGZT48aW5mQ0ZlIElkPSJDRmU0MTIzMDQyNzEwMTYxMTAwMDE4MjU5OTAwMDE5ODI0MDAwMTAwNTY0NTgyNiIgdmVyc2FvPSIwLjA4IiB2ZXJzYW9EYWRvc0VudD0iMC4wOCIgdmVyc2FvU0I9IjAyMDEwMCI+PGlkZT48Y1VGPjQxPC9jVUY+PGNORj41NjQ1ODI8L2NORj48bW9kPjU5PC9tb2Q+PG5zZXJpZVNBVD45MDAwMTk4MjQ8L25zZXJpZVNBVD48bkNGZT4wMDAxMDA8L25DRmU+PGRFbWk+MjAyMzA0MTE8L2RFbWk+PGhFbWk+MjAwNTQ0PC9oRW1pPjxjRFY+NjwvY0RWPjx0cEFtYj4yPC90cEFtYj48Q05QSj4xNjcxNjExNDAwMDE3MjwvQ05QSj48c2lnbkFDPlNHUi1TQVQgU0lTVEVNQSBERSBHRVNUQU8gRSBSRVRBR1VBUkRBIERPIFNBVDwvc2lnbkFDPjxhc3NpbmF0dXJhUVJDT0RFPmVlL3EzRDlidmQzTGZqYnlNRDVWWFg1OVFuNlhmNDI1TUVOaVdQMFQyTWVVcFd2SnBBdlpLZFV3YVhicTdKU3pXcWdmUk90bWFGMytOV0s5QkVna1FlZjRnWEFET1RoamIyclRyRTRpUjY1d0kyZW0yVW1wWmdhekNtMEF0aUFmQkZ3M2V4RmFQZkt4NlV6clZuMEZIaE1IQXpMV1hNSUI4T0xVbGxJRG1TWXdBVmNDbUdxODBlY1llNUZNenAweHlsSnRiZUxMN0hLUDk3WkJwM0ExUWtNOVljZk14MFF4WTBHNEtXekEydG90NHB3RHQ4dmx6WjY5RlFyN1dhOUx1TjJIczZIcExSYlZ4bkxJSWxTOUdLeUZMTlpOUFl5QkprSEpBelBrU0NGV0pMeU13N1dDZm5yNEV1WW5NVVdjRm83L2tqUG1lSCs2eE1HSzlESnh2QT09PC9hc3NpbmF0dXJhUVJDT0RFPjxudW1lcm9DYWl4YT4wMDE8L251bWVyb0NhaXhhPjwvaWRlPjxlbWl0PjxDTlBKPjI3MTAxNjExMDAwMTgyPC9DTlBKPjx4Tm9tZT5CRU1BVEVDSCBIQVJEV0FSRSBMVERBPC94Tm9tZT48ZW5kZXJFbWl0Pjx4TGdyPlJVQSBGUkFOQ0lTQ08gTVVOT1ogTUFEUklEPC94TGdyPjxucm8+NjI1PC9ucm8+PHhDcGw+U0FMQSAwMSBTRVRPUiBNT0RVTE8gNDA0IFBBVk1UT1RFUlJFTzwveENwbD48eEJhaXJybz5ST1NFSVJBIERFIFNBTyBTRUJBU1RJQU88L3hCYWlycm8+PHhNdW4+U0FPIEpPU0UgRE9TIFBJTkhBSVM8L3hNdW4+PENFUD44MzA3MDE1MjwvQ0VQPjwvZW5kZXJFbWl0PjxJRT4xMTExMTExMTExMTE8L0lFPjxjUmVnVHJpYj4xPC9jUmVnVHJpYj48aW5kUmF0SVNTUU4+UzwvaW5kUmF0SVNTUU4+PC9lbWl0PjxkZXN0PjxDTlBKPjE4NzYwNTQwMDAwMTM5PC9DTlBKPjx4Tm9tZT5Qcm9qZXRvIEFDQnIgQUVJT1VhZWlvdUNjIHRlc3RlIGRlIG5vbWUgTG9uZ288L3hOb21lPjwvZGVzdD48ZW50cmVnYT48eExncj5sb2dyYWRvdXJvPC94TGdyPjxucm8+MTEyMjMzPC9ucm8+PHhDcGw+Y29tcGxlbWVudG88L3hDcGw+PHhCYWlycm8+YmFpcnJvPC94QmFpcnJvPjx4TXVuPm11bmljaXBpbzwveE11bj48VUY+Uko8L1VGPjwvZW50cmVnYT48ZGV0IG5JdGVtPSIxIj48cHJvZD48Y1Byb2Q+QUNCUjAwMDE8L2NQcm9kPjxjRUFOPjYyOTEwNDE1MDAyMTM8L2NFQU4+PHhQcm9kPkFzc2luYXR1cmEgU0FDPC94UHJvZD48TkNNPjk5PC9OQ00+PENFU1Q+MTIzNDU2NzwvQ0VTVD48Q0ZPUD41MTIwPC9DRk9QPjx1Q29tPlVOPC91Q29tPjxxQ29tPjEuMDAwMDwvcUNvbT48dlVuQ29tPjEyMC4wMDwvdlVuQ29tPjx2UHJvZD4xMjAuMDA8L3ZQcm9kPjxpbmRSZWdyYT5BPC9pbmRSZWdyYT48dkRlc2M+MS4wMDwvdkRlc2M+PHZJdGVtPjExNC4xOTwvdkl0ZW0+PHZSYXREZXNjPjQuODE8L3ZSYXREZXNjPjwvcHJvZD48aW1wb3N0bz48dkl0ZW0xMjc0MT4xNC4yODwvdkl0ZW0xMjc0MT48SUNNUz48SUNNUzAwPjxPcmlnPjA8L09yaWc+PENTVD4wMDwvQ1NUPjxwSUNNUz4xOC4wMDwvcElDTVM+PHZJQ01TPjIwLjU1PC92SUNNUz48L0lDTVMwMD48L0lDTVM+PFBJUz48UElTU04+PENTVD40OTwvQ1NUPjwvUElTU04+PC9QSVM+PENPRklOUz48Q09GSU5TU04+PENTVD40OTwvQ1NUPjwvQ09GSU5TU04+PC9DT0ZJTlM+PC9pbXBvc3RvPjxpbmZBZFByb2Q+SW5mb3JtYWNvZXMgYWRpY2lvbmFpczwvaW5mQWRQcm9kPjwvZGV0PjxkZXQgbkl0ZW09IjIiPjxwcm9kPjxjUHJvZD42MjkxMDQxNTAwMjEzPC9jUHJvZD48Y0VBTj42MjkxMDQxNTAwMjEzPC9jRUFOPjx4UHJvZD5PdXRybyBwcm9kdXRvIFF1YWxxdWVyLCBjb20gYSBEZXNjcmljYW8gR3JhbmRlPC94UHJvZD48Q0ZPUD41NTI5PC9DRk9QPjx1Q29tPnVuPC91Q29tPjxxQ29tPjEuMTIwNTwvcUNvbT48dlVuQ29tPjEuMjE8L3ZVbkNvbT48dlByb2Q+MS4zNjwvdlByb2Q+PGluZFJlZ3JhPkE8L2luZFJlZ3JhPjx2T3V0cm8+Mi4wMDwvdk91dHJvPjx2SXRlbT4zLjIyPC92SXRlbT48dlJhdERlc2M+MC4xNDwvdlJhdERlc2M+PC9wcm9kPjxpbXBvc3RvPjx2SXRlbTEyNzQxPjEuMDE8L3ZJdGVtMTI3NDE+PElDTVM+PElDTVM0MD48T3JpZz4wPC9PcmlnPjxDU1Q+NDA8L0NTVD48L0lDTVM0MD48L0lDTVM+PFBJUz48UElTU04+PENTVD40OTwvQ1NUPjwvUElTU04+PC9QSVM+PFBJU1NUPjxxQkNQcm9kPjMuMzYwMDwvcUJDUHJvZD48dkFsaXFQcm9kPjEuMDIyMzwvdkFsaXFQcm9kPjx2UElTPjMuNDM8L3ZQSVM+PC9QSVNTVD48Q09GSU5TPjxDT0ZJTlNTTj48Q1NUPjQ5PC9DU1Q+PC9DT0ZJTlNTTj48L0NPRklOUz48L2ltcG9zdG8+PGluZkFkUHJvZD5JbmZvcm1hY29lcyBhZGljaW9uYWlzPC9pbmZBZFByb2Q+PC9kZXQ+PGRldCBuSXRlbT0iMyI+PHByb2Q+PGNQcm9kPmFiYzEyMzwvY1Byb2Q+PGNFQU4+NjI5MTA0MTUwMDIxMzwvY0VBTj48eFByb2Q+QUNCclNBVCBydWxlczwveFByb2Q+PE5DTT45OTwvTkNNPjxDRk9QPjU4NDQ8L0NGT1A+PHVDb20+dW48L3VDb20+PHFDb20+MS4xMjA1PC9xQ29tPjx2VW5Db20+MS4yMTwvdlVuQ29tPjx2UHJvZD4xLjM2PC92UHJvZD48aW5kUmVncmE+QTwvaW5kUmVncmE+PHZJdGVtPjEuMzE8L3ZJdGVtPjx2UmF0RGVzYz4wLjA1PC92UmF0RGVzYz48L3Byb2Q+PGltcG9zdG8+PElDTVM+PElDTVM0MD48T3JpZz4xPC9PcmlnPjxDU1Q+NjA8L0NTVD48L0lDTVM0MD48L0lDTVM+PFBJUz48UElTU04+PENTVD40OTwvQ1NUPjwvUElTU04+PC9QSVM+PFBJU1NUPjxxQkNQcm9kPjEuMzYwMDwvcUJDUHJvZD48dkFsaXFQcm9kPjEuMTgyNjwvdkFsaXFQcm9kPjx2UElTPjEuNjE8L3ZQSVM+PC9QSVNTVD48Q09GSU5TPjxDT0ZJTlNTTj48Q1NUPjQ5PC9DU1Q+PC9DT0ZJTlNTTj48L0NPRklOUz48L2ltcG9zdG8+PGluZkFkUHJvZD5JbmZvcm1hY29lcyBhZGljaW9uYWlzPC9pbmZBZFByb2Q+PC9kZXQ+PHRvdGFsPjxJQ01TVG90Pjx2SUNNUz4yMC41NTwvdklDTVM+PHZQcm9kPjEyMi43MjwvdlByb2Q+PHZEZXNjPjEuMDA8L3ZEZXNjPjx2UElTPjAuMDA8L3ZQSVM+PHZDT0ZJTlM+MC4wMDwvdkNPRklOUz48dlBJU1NUPjUuMDQ8L3ZQSVNTVD48dkNPRklOU1NUPjAuMDA8L3ZDT0ZJTlNTVD48dk91dHJvPjIuMDA8L3ZPdXRybz48L0lDTVNUb3Q+PHZDRmU+MTE4LjcyPC92Q0ZlPjxEZXNjQWNyRW50cj48dkRlc2NTdWJ0b3Q+NS4wMDwvdkRlc2NTdWJ0b3Q+PC9EZXNjQWNyRW50cj48dkNGZUxlaTEyNzQxPjEuMjM8L3ZDRmVMZWkxMjc0MT48L3RvdGFsPjxwZ3RvPjxNUD48Y01QPjAzPC9jTVA+PHZNUD42MS44Njwvdk1QPjwvTVA+PE1QPjxjTVA+MDE8L2NNUD48dk1QPjE2MS44Njwvdk1QPjwvTVA+PHZUcm9jbz4xMDUuMDA8L3ZUcm9jbz48L3BndG8+PGluZkFkaWM+PGluZkNwbD5BY2Vzc2Ugd3d3LnByb2pldG9hY2JyLmNvbS5iciBwYXJhIG9idGVyIG1haXM7aW5mb3JtYWNvZXMgc29icmUgbyBjb21wb25lbnRlIEFDQnJTQVQ7UHJlY2lzYSBkZSB1bSBQQUYtRUNGIGhvbW9sb2dhZG8/O0NvbmhlY2EgbyBQcm9qZXRvIEFDQnIgLSB3d3cucG9qZXRvYWNici5jb20uYnI8L2luZkNwbD48L2luZkFkaWM+PG9ic0Zpc2NvIHhDYW1wbz0iMDQuMDQuMDUuMDQiPjx4VGV4dG8+Q29tZXRlIGNyaW1lIHF1ZW0gc29uZWdhPC94VGV4dG8+PC9vYnNGaXNjbz48L2luZkNGZT48U2lnbmF0dXJlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48U2lnbmVkSW5mbyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PENhbm9uaWNhbGl6YXRpb25NZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWwtYzE0bi0yMDAxMDMxNSI+PC9DYW5vbmljYWxpemF0aW9uTWV0aG9kPjxTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2Ij48L1NpZ25hdHVyZU1ldGhvZD48UmVmZXJlbmNlIFVSST0iI0NGZTQxMjMwNDI3MTAxNjExMDAwMTgyNTk5MDAwMTk4MjQwMDAxMDA1NjQ1ODI2Ij48VHJhbnNmb3Jtcz48VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiPjwvVHJhbnNmb3JtPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWwtYzE0bi0yMDAxMDMxNSI+PC9UcmFuc2Zvcm0+PC9UcmFuc2Zvcm1zPjxEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiPjwvRGlnZXN0TWV0aG9kPjxEaWdlc3RWYWx1ZT5GTlo2Ry9EU3Z5U2tkYWVlTHAyUktLZ2xZb1BXck9xb3lZZ0gvbEhTM3p3PTwvRGlnZXN0VmFsdWU+PC9SZWZlcmVuY2U+PC9TaWduZWRJbmZvPjxTaWduYXR1cmVWYWx1ZT5MeUhKUzdWbDRiSkhmQmNRT0cySlFPMzMxMU4rNXZTVlZUUXRkVGd0SlA2dGZRYWxRRExBK0ZUQzRQU2RoenpyWFhIUStGZFlPYmc5Ly9reTdBcFVaclM3amxrTlZETjlmU0lqN2Eyc0VheDRqNzQ1TEVoZys2czlwbUVOY0sxRGxGMHBFYWRDczB6Q3U5dFNNOTJhTENqN2d0S3RoMkM4K2MyVklrbmpBRTcyTENaUURVZjZzKzM5SE1hU3MwM2llditMeDJUSUVOSnhqWnlnNHFzOWJ2Skd3aThVbDMvdnhIbzZxZUNIcVBld1liVEVNMUNBVlRaUkxNeXNYRVJvenY2UmkySGZQVHdaYnhTWVZUQ1QybnR5cVFUdTRYUDR4ckxxRndXS1lVMGoxR3FqbmJOMC9helZPR1JnRnJtRXBWWVN6NGtYTGVXUzNFaTBGRXhEZ2c9PTwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8+PFg1MDlEYXRhPjxYNTA5Q2VydGlmaWNhdGU+TUlJR3F6Q0NCSk9nQXdJQkFnSUpBUjNQOVBYL2NBaitNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1HY3hDekFKQmdOVkJBWVRBa0pTTVRVd013WURWUVFLRXl4VFpXTnlaWFJoY21saElHUmhJRVpoZW1WdVpHRWdaRzhnUlhOMFlXUnZJR1JsSUZOaGJ5QlFZWFZzYnpFaE1COEdBMVVFQXhNWVFVTWdVMEZVSUdSbElGUmxjM1JsSUZORlJrRmFJRk5RTUI0WERUSXdNVEV4T1RFNU5ERXdOVm9YRFRJMU1URXhPVEU1TkRFd05Wb3dnYkF4RWpBUUJnTlZCQVVUQ1Rrd01EQXhPVGd5TkRFTE1Ba0dBMVVFQmhNQ1FsSXhEekFOQmdOVkJBZ1RCbEJoY21GdVlURVJNQThHQTFVRUNoTUlVMFZHUVZvdFUxQXhEekFOQmdOVkJBc1RCa0ZETFZOQlZERW9NQ1lHQTFVRUN4TWZRWFYwWlc1MGFXTmhaRzhnY0c5eUlFRlNJRk5GUmtGYUlGTlFJRk5CVkRFdU1Dd0dBMVVFQXhNbFFrVk5RVlJGUTBnZ1NFRlNSRmRCVWtVZ1RGUkVRVG95TnpFd01UWXhNVEF3TURFNE1qQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU42eWNJQVh1RTkraTVYa3pNRndRbWZJenpHczZISzgxTythTVN4YjZvWENtY1lsanhvY1U1YWt2NVJZNXU2RlNURlJCT1NKQVpCaHZjQnowUk5LR2VYUUdXNmlQaElmY0NUSmVSKzkvbVhPcnZ3VElXRFpqOWVaRjc0dmRIWGNabldJYlFkTGlJZHdlT25tQk1mMlVhdExQSzFsRVQxV0hUeWkzWDh6UW10VVpGSVp1NlF0b2h3RGtVU2Q4aThtQS9kVTY2NExXQ2YzZ3lUYndUSlorZnFKTkZHNStxVWVHclpLak9lSE5EY05wNVlsV1QzcE9aZmVYOGtJc2lUWDdJTENOVnBDMk1udkNCZEcwUGYxR1JCTHRVa0hCb3NEN3BYR09nODVEWU5wSUo2VzkwNGovT1l1NHFJdVYyaXIwRFBhajJuR3ZpN3JMYXVSNS9SSTFkRUNBd0VBQWFPQ0FnNHdnZ0lLTUE0R0ExVWREd0VCL3dRRUF3SUY0REI3QmdOVkhTQUVkREJ5TUhBR0NTc0dBUVFCZ2V3dEF6QmpNR0VHQ0NzR0FRVUZCd0lCRmxWb2RIUndPaTh2WVdOellYUXVhVzF3Y21WdWMyRnZabWxqYVdGc0xtTnZiUzVpY2k5eVpYQnZjMmwwYjNKcGJ5OWtjR012WVdOellYUnpaV1poZW5Od0wyUndZMTloWTNOaGRITmxabUY2YzNBdWNHUm1NR3NHQTFVZEh3UmtNR0l3WUtCZW9GeUdXbWgwZEhBNkx5OWhZM05oZEMxMFpYTjBaUzVwYlhCeVpXNXpZVzltYVdOcFlXd3VZMjl0TG1KeUwzSmxjRzl6YVhSdmNtbHZMMnhqY2k5aFkzTmhkSE5sWm1GNmMzQXZZV056WVhSelpXWmhlbk53WTNKc0xtTnliRENCcGdZSUt3WUJCUVVIQVFFRWdaa3dnWll3TkFZSUt3WUJCUVVITUFHR0tHaDBkSEE2THk5dlkzTndMWEJwYkc5MExtbHRjSEpsYm5OaGIyWnBZMmxoYkM1amIyMHVZbkl3WGdZSUt3WUJCUVVITUFLR1VtaDBkSEE2THk5aFkzTmhkQzEwWlhOMFpTNXBiWEJ5Wlc1ellXOW1hV05wWVd3dVkyOXRMbUp5TDNKbGNHOXphWFJ2Y21sdkwyTmxjblJwWm1sallXUnZjeTloWTNOaGRDMTBaWE4wWlM1d04yTXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3Q1FZRFZSMFRCQUl3QURBa0JnTlZIUkVFSFRBYm9Ca0dCV0JNQVFNRG9CQUVEakkzTVRBeE5qRXhNREF3TVRneU1COEdBMVVkSXdRWU1CYUFGSTQ1UVFCYzhyZ0YycWh0bUxrQlJtMXVZOThDTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFBUUpjV3JpQ29kNkZBMkVydGkvMXFSQkNCTlRaNWlEZHBzRzBZcjR6NHBZeitIcUo5cGx6aldlQUxpVmI1US9WUjJBOHRibGV5R204Tm43aGpSRHAza2gybjFIdW92R25zTGw0R0ZVdlhwZ2JtWVpKNWUyVU9GNkZmMVIzRUM3ME0yeTVWeFN6OTh1MmhXeEcyYmNpREJBUjBsRkIxWWt4NFJpcVdqUnAxa0J0M1ZCcjZUREErTGM4MWFGVmNwdUZmM2swZTFDR0xSazdkYlg5YUhVV1R4RmdQaVBiOTZTTEZQa04xZ2VCTHhhMEY2K1dHaVRmMVFzRE45OVFWK1kwR0JsclZRMTAxTWY5TkNNRm9FVWEzcUVpZWx4bFFTMXExUmVCUmtjai8zZFhZZHNRQnlqV2k5L3kvem40QW9Fa1V1SUowTEVTZGU0bStQamRSWTEyaXM1WHN4d2QzcHdpTFo2aCtSODJkSDVMTFRpWWNGZDBuQ2FlZDIycWtsN0Z6VlF2a01yM2RuelVDdk9qNE1RNjdRTXpnYkIrMnFyYlFrM3VjRWdtWENvTnNGT2YzRmhSeVRVY01GM3g5L0JBWVNJN1pML0RKOUplVm9OSlQrdUZSa3pwRVhKTUQ2Si83V2N0TVZYa1NreTJ1eTNPME1uQWFsMnJLWG9Vc1A3dTFBNHR1SWtsTnBRcC9lRzVzYytKOVFrQ3gyblIyVUdEUUIyUjUrS3VhbU1QZTFXeUNaVjQzQU10UlRIRWJxb1FYR2R3YTg5N3J4c3BqQ1ZNRVNiNUVrMzlJWnNZWHVGd09hM1dUZU9YMFJueTBIQnVzUkliOEZ0a1p4QjBMY3Z6REhPYmVjcWpyQTF2UXE0d0l0YlB4WXVSTGY2SThSS0YydzdhRmlQUWV6emc9PTwvWDUwOUNlcnRpZmljYXRlPjwvWDUwOURhdGE+PC9LZXlJbmZvPjwvU2lnbmF0dXJlPjwvQ0ZlPg==|20230411200544|CFe41230427101611000182599000198240001005645826|118.72|18760540000139|ee/q3D9bvd3LfjbyMD5VXX59Qn6Xf425MENiWP0T2MeUpWvJpAvZKdUwaXbq7JSzWqgfROtmaF3+NWK9BEgkQef4gXADOThjb2rTrE4iR65wI2em2UmpZgazCm0AtiAfBFw3exFaPfKx6UzrVn0FHhMHAzLWXMIB8OLUllIDmSYwAVcCmGq80ecYe5FMzp0xylJtbeLL7HKP97ZBp3A1QkM9YcfMx0QxY0G4KWzA2tot4pwDt8vlzZ69FQr7Wa9LuN2Hs6HpLRbVxnLIIlS9GKyFLNZNPYyBJkHJAzPkSCFWJLyMw7WCfnr4EuYnMUWcFo7/kjPmeH+6xMGK9DJxvA==

Created with the Personal Edition of HelpNDoc: Easy EBook and documentation generator