def load_remote_account(connection: gspread.Client, errors: list, account: str, options: typing.Dict[(str, str)]):
    'Try to Load Entries from URL into Account.\n\n    options include:\n        - document_name -- the Actual Google Doc name\n        - document_tab -- the Tab name on the Doc\n        - default_currency - the entry currency if None is provided\n        - reverse_amount - if true, assume positive entries are credits\n\n    '
    entries = []
    document_name = options['document_name']
    document_tab = (options.get('document_tab', 0) or 0)
    default_currency = options['default_currency']
    reverse_amount = options.get('reverse_amount', False)
    if (not document_name):
        return
    m = ((- 1) if reverse_amount else 1)
    logger.info(f'Attempting to download entries for {account} from {document_name}.{document_tab}')
    workbook = connection.open(document_name)
    sheet = None
    try:
        document_tab = int(document_tab)
        sheet = workbook.get_worksheet(document_tab)
    except ValueError:
        pass
    if (sheet is None):
        sheet = workbook.worksheet(document_tab)
    records = sheet.get_all_records()
    import re
    row = 0
    for record in records:
        row += 1
        record = clean_record(record)
        if (('date' not in record) or (not record['date'])):
            continue
        if (('amount' not in record) or (not record['amount'])):
            continue
        narration = record.pop('narration', None)
        payee = record.pop('payee', None)
        tagstr = record.pop('tags', '')
        tags = (set(re.split('\\W+', tagstr)) if tagstr else set())
        date = dateparser.parse(record.pop('date'))
        if date:
            date = datetime.date(year=date.year, month=date.month, day=date.day)
        linkstr = record.pop('links', '')
        links = (set(re.split('\\W+', linkstr)) if linkstr else set())
        meta = {'filename': str(options['entry_file']), 'lineno': 0, 'document-sheet-row': f'{document_name}/{document_tab}/{(row + 1)}'}
        amount = (decimal.Decimal(record.pop('amount')) * m)
        currency = record.pop('currency', default_currency)
        entry_account = record.pop('account')
        for (k, v) in record.items():
            if v:
                meta[k] = v
        try:
            if (not entry_account):
                errors.append(f"Skipping Record with Blank Account: {meta['document-sheet-row']}")
                logger.warning(f"Skipping Record with Blank Account: {meta['document-sheet-row']}")
                continue
            entry = data.Transaction(date=date, narration=narration, payee=payee, tags=tags, meta=meta, links=links, flag='*', postings=[data.Posting(account=account, units=data.Amount(amount, currency), cost=None, price=None, flag='*', meta={}), data.Posting(account=entry_account, units=data.Amount((- amount), currency), cost=None, price=None, flag='*', meta={})])
            entries.append(entry)
        except Exception as exc:
            logger.error(f'Error while parsing {record}', exc_info=exc)
            errors.append(str(exc))
    logger.info(f'Loaded {len(entries)} entries for {account} from {document_name}.{document_tab}')
    return entries
Try to Load Entries from URL into Account.

options include:
    - document_name -- the Actual Google Doc name
    - document_tab -- the Tab name on the Doc
    - default_currency - the entry currency if None is provided
    - reverse_amount - if true, assume positive entries are credits
def load_remote_account(connection: gspread.Client, errors: list, account: str, options: typing.Dict[(str, str)]):
    'Try to Load Entries from URL into Account.\n\n    options include:\n        - document_name -- the Actual Google Doc name\n        - document_tab -- the Tab name on the Doc\n        - default_currency - the entry currency if None is provided\n        - reverse_amount - if true, assume positive entries are credits\n\n    '
    entries = []
    document_name = options['document_name']
    document_tab = (options.get('document_tab', 0) or 0)
    default_currency = options['default_currency']
    reverse_amount = options.get('reverse_amount', False)
    if (not document_name):
        return
    m = ((- 1) if reverse_amount else 1)
    logger.info(f'Attempting to download entries for {account} from {document_name}.{document_tab}')
    workbook = connection.open(document_name)
    sheet = None
    try:
        document_tab = int(document_tab)
        sheet = workbook.get_worksheet(document_tab)
    except ValueError:
        pass
    if (sheet is None):
        sheet = workbook.worksheet(document_tab)
    records = sheet.get_all_records()
    import re
    row = 0
    for record in records:
        row += 1
        record = clean_record(record)
        if (('date' not in record) or (not record['date'])):
            continue
        if (('amount' not in record) or (not record['amount'])):
            continue
        narration = record.pop('narration', None)
        payee = record.pop('payee', None)
        tagstr = record.pop('tags', )
        tags = (set(re.split('\\W+', tagstr)) if tagstr else set())
        date = dateparser.parse(record.pop('date'))
        if date:
            date = datetime.date(year=date.year, month=date.month, day=date.day)
        linkstr = record.pop('links', )
        links = (set(re.split('\\W+', linkstr)) if linkstr else set())
        meta = {'filename': str(options['entry_file']), 'lineno': 0, 'document-sheet-row': f'{document_name}/{document_tab}/{(row + 1)}'}
        amount = (decimal.Decimal(record.pop('amount')) * m)
        currency = record.pop('currency', default_currency)
        entry_account = record.pop('account')
        for (k, v) in record.items():
            if v:
                meta[k] = v
        try:
            if (not entry_account):
                errors.append(f"Skipping Record with Blank Account: {meta['document-sheet-row']}")
                logger.warning(f"Skipping Record with Blank Account: {meta['document-sheet-row']}")
                continue
            entry = data.Transaction(date=date, narration=narration, payee=payee, tags=tags, meta=meta, links=links, flag='*', postings=[data.Posting(account=account, units=data.Amount(amount, currency), cost=None, price=None, flag='*', meta={}), data.Posting(account=entry_account, units=data.Amount((- amount), currency), cost=None, price=None, flag='*', meta={})])
            entries.append(entry)
        except Exception as exc:
            logger.error(f'Error while parsing {record}', exc_info=exc)
            errors.append(str(exc))
    logger.info(f'Loaded {len(entries)} entries for {account} from {document_name}.{document_tab}')
    return entries