Thanks for this

On Sunday, December 3, 2017 at 9:25:31 PM UTC-8, [email protected] wrote:
>
> I encountered similar issues using Herique Bastos's gnucash-tobeancount (
> https://github.com/henriquebastos/gnucash-to-beancount) and have seen 
> debanjum's changes (https://github.com/debanjum/gnucash-to-beancount).
>
> Personally, I am using Gnucash with 17 years of data as my "master" data 
> and doing frequent exports to beancount. I was very reluctant to change the 
> Gnucash data. For this I modified my own copy of gnucash-to-beancount. 
> Seeing this thread inspired me to clean up my work and push it out to 
> github.
> This version handles:
>
>    - Many types of special characters in account and commodity names 
>    (spaces, commas, slash, underscore, period, percent, @, &, +, ?, ', (, ), 
>    ยข).
>       -  Joe's -> Joes
>       - 401(k) -> 401k
>       - CD @ 2% -> CD-at-2-pct
>    - Account names that start with '-' or a digit (401k -> X-401k)
>    - Account names that start with lower case (iBond -> IBond)
>    - Commodity names that have lower case or dashes or are longer than 24 
>    characters.
>    - Notes with double quotes (")
>    - Accounts are open on the date of the first transaction
>    - Gnucash's hidden accounts are considered closed. I added close 
>    directives for these.
>    - Accounts are closed on the day after the last transaction
>    - Skipping of Gnucash's placeholder accounts
>    - Commodity precision is retrieved from Gnucash
>
> If anyone is interested, please give it a whirl. The code is at 
> https://github.com/AndrewStein/gnucash-to-beancount 
>
>
> On Thursday, August 31, 2017 at 2:03:11 AM UTC-5, Martin Blais wrote:
>>
>> On Wed, Aug 30, 2017 at 2:05 PM, <[email protected]> wrote:
>>
>>> Okay, I was finally able to run bean-check without any errors. I will 
>>> write down things I did in hopes that it will help someone else. I wouldn't 
>>> have been able to do with without folks on the IRC channel, they were 
>>> really helpful. 
>>>
>>
>> That's great!
>>
>>  
>>
>>> The gnucash-to-beancount script opens all the accounts at the beginning 
>>> of the file but on some accounts the dates are later then some of the 
>>> transactions in the file, which produces the inactive account error. I 
>>> changed the dates for the opening statements to when the earliest 
>>> transaction was for that account. Then basically iterate this for the rest 
>>> of the accounts with the same error.
>>>
>>
>> This would cause the second error you reported indeed. Beancount ignores 
>> the location of the directives in the file (on purpose).
>>
>>
>> Another big problem was that fact that I had a lot of account names that 
>>> are valid in gnucash which aren't valid in beancount.
>>>   * Accounts starting with lowercase
>>>   * Accounts starting with numbers
>>>   * Accounts with & in their name (e.g., Expenses:Gas-&-Electric)
>>>   * Accounts with apostrophes
>>>
>>
>> That's correct.
>> I think the converter script could be modified to make reasonable account 
>> name conversions.
>>
>>
>>  
>>
>>>
>>>
>>>
>>> On Wednesday, August 30, 2017 at 9:31:16 AM UTC-7, [email protected] 
>>> wrote:
>>>>
>>>> For what it's worth I have also tried gnucash2ledger and then 
>>>> ledger2beancount, but I get similar errors.
>>>>
>>>> On Wednesday, August 30, 2017 at 9:26:08 AM UTC-7, [email protected] 
>>>> wrote:
>>>>>
>>>>> I'd love to try beancount but I seem to be stuck trying to convert my 
>>>>> data from gnucash. I am using 
>>>>> https://github.com/debanjum/gnucash-to-beancount to convert 4 years 
>>>>> of gnucash data. When I run bean-check on the result file, I get a ton of 
>>>>> errors that look like 
>>>>>
>>>>> /home/user1/beancount/foo.beancount:4505:    Invalid token: 'taxed'
>>>>> /home/user1/beancount/foo.beancount:4517:    syntax error, unexpected 
>>>>> COLON, expecting EOL or COMMENT or ATAT or AT
>>>>> /home/user1/beancount/foo.beancount:4517:    Invalid token: 'k'
>>>>> /home/user1/beancount/foo.beancount:4522:    Invalid token: 'taxed'
>>>>> /home/user1/beancount/foo.beancount:4532:    syntax error, unexpected 
>>>>> COLON, expecting EOL or COMMENT or ATAT or AT
>>>>> /home/user1/beancount/foo.beancount:4532:    Invalid token: 'k'
>>>>> /home/user1/beancount/foo.beancount:4537:    Invalid token: 'taxed'
>>>>> /home/user1/beancount/foo.beancount:4547:    syntax error, unexpected 
>>>>> COLON, expecting EOL or COMMENT or ATAT or AT
>>>>> /home/user1/beancount/foo.beancount:4547:    Invalid token: 'k'
>>>>> /home/user1/beancount/foo.beancount:4552:    Invalid token: 'taxed'
>>>>> /home/user1/beancount/foo.beancount:4566:    syntax error, unexpected 
>>>>> COLON, expecting EOL or COMMENT or ATAT or AT
>>>>> /home/user1/beancount/foo.beancount:4566:    Invalid token: 'k'
>>>>> /home/user1/beancount/foo.beancount:4571:    Invalid token: 'taxed'
>>>>> /home/user1/beancount/foo.beancount:4581:    syntax error, unexpected 
>>>>> COLON, expecting EOL or COMMENT or ATAT or AT
>>>>> /home/user1/beancount/foo.beancount:4581:    Invalid token: 'k'
>>>>> /home/user1/beancount/foo.beancount:4586:    Invalid token: 'taxed'
>>>>>
>>>>>
>>>>> followed by a ton of results like this
>>>>>
>>>>> /home/user1/beancount/foo.beancount:1168:    Invalid reference to 
>>>>> inactive account 'Expenses:House:Appliances-and-Furniture'
>>>>>
>>>>>    2014-011-06 * "AMAZON.COM          AMZN.COM/BI - Vornado fan"
>>>>>      notes: "OFX ext. info: |Trans type:Generic debit|Memo:FOOBAR 
>>>>> MERCHANDISE"
>>>>>      num: "12345023456233"
>>>>>      Liabilities:American-Express             -107.760 USD
>>>>>        memo: "FOOBAR MERCHANDISE"
>>>>>      Expenses:House:Appliances-and-Furniture   107.760 USD
>>>>>
>>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Beancount" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/beancount/fa929358-330c-4085-a3cf-9719be0e816b%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/beancount/fa929358-330c-4085-a3cf-9719be0e816b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/dd3853c5-acf2-4150-883c-4aeee5f1ffba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to